随着数据量的增长,服务器原有的存储空间可能不足以满足需求,添加磁盘可以提供更多的存储空间来存储数据、日志、数据库文件等。
基础添加磁盘进行挂载
1.vmvare添加硬盘
2.重启虚拟机查看
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 300M 0 part /boot
├─sda2 8:2 0 3.9G 0 part [SWAP]
└─sda3 8:3 0 35.9G 0 part /
sdb 8:16 0 5G 0 disk
sr0 11:0 1 9.5G 0 rom /mnt/cdrom
可以看到新加的盘在sdb
3.fdisk分区(给房子划隔间)
fdisk /dev/sdb
进入命令交互界面,m可以查看提示,n创建新分区
n
p创建主分区,一个硬盘最多四个主分区
p
分区编号第一个分区写第几个编号
1
第一个扇区默认就行
2048
需要的空间,按需求写,如果全部分区直接空格
+5G
最后保存退出
w
再用lsblk查看,可以看出已经分区,如果没用完同样可以看到还有多少空间可用
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 300M 0 part /boot
├─sda2 8:2 0 3.9G 0 part [SWAP]
└─sda3 8:3 0 35.9G 0 part /
sdb 8:16 0 5G 0 disk
└─sdb1 8:17 0 5G 0 part
sr0 11:0 1 9.5G 0 rom /mnt/cdrom
4.创建文件系统(格式化)给房子装修
创建文件系统
mkfs.ext4 /dev/sdb1
mkfs:makefile
ext4:文件系统名字
/dev/sdb1:创建文件系统的分区
5.创建文件夹挂载
mount -t ext4 /dev/sdb1 /mnt/test
df -h查看挂载情况
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 13M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda3 36G 8.6G 28G 24% /
/dev/sr0 9.5G 9.5G 0 100% /mnt/cdrom
/dev/sda1 297M 163M 134M 55% /boot
tmpfs 378M 12K 378M 1% /run/user/42
tmpfs 378M 0 378M 0% /run/user/0
/dev/sdb1 4.8G 20M 4.6G 1% /mnt/test
6.写满磁盘
dd if=/dev/zero of=/mnt/test/1.txt bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 1.94718 s, 539 MB/s
df -h查看
/dev/sdb1 4.8G 1020M 3.6G 22% /mnt/test
dd:写磁盘命令
if:从磁盘零开始
of:目标位置
bs:文件块大小
count:多少个文件
SWAP
交换分区,是硬盘上的一部分空间,用来提升内存容量,防止OOM。推荐交换分区的大小是内存的二倍,生产环境中大于4GB小于16GB内存的系统,最小需要4GB的交换空间;大于16GB小于64GB内存的系统,最小需要8GB的交换空间;大于64GB小于256GB内存的系统,最小需要16GB的交换空间.
查看swap
free -h
查看swap在硬盘的位置
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 300M 0 part /boot
├─sda2 8:2 0 3.9G 0 part [SWAP]
└─sda3 8:3 0 35.9G 0 part /
sdb 8:16 0 5G 0 disk
└─sdb1 8:17 0 5G 0 part /mnt/test
sr0 11:0 1 9.5G 0 rom /mnt/cdrom
1.添加硬盘
2.重启虚拟机查看
3.fdisk分区
fdisk /dev/sdb
进入命令交互界面,m可以查看提示,n创建新分区
n
p创建主分区,一个硬盘最多四个主分区
p
分区编号第一个分区写第几个编号
1
第一个扇区默认就行
2048
需要的空间,按需求写,如果全部分区直接空格
+1G
注意这里要修改分区的id
t
82
最后保存退出
w
4.创建文件系统格式化
mkswap /dev/sdc1
Setting up swapspace version 1, size = 1047548 KiB
no label, UUID=81fcd9d6-ca1a-4a8f-b10c-2be709f175d2
5.挂载
swapon /dev/sdc1
free -h
total used free shared buff/cache available
Mem: 3.7G 918M 2.0G 20M 771M 2.5G
Swap: 4.9G 0B 4.9G
取消挂载
swapoff /dev/sdc1
free -h
total used free shared buff/cache available
Mem: 3.7G 918M 2.0G 20M 771M 2.5G
Swap: 3.9G 0B 3.9G
逻辑卷管理
1.添加硬盘
2.lsblk查看
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 300M 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 17.7G 0 part /
sdb 8:16 0 1G 0 disk
sdc 8:32 0 1G 0 disk
sdd 8:48 0 1G 0 disk
sde 8:64 0 1G 0 disk
sr0 11:0 1 9.5G 0 rom /mnt/cdrom
3.创建pv物理卷
pvcreate /dev/sdb
[root@mario2 ~]# pvcreate /dev/sdbPhysical volume "/dev/sdb" successfully created.
4.创建vg卷组
vgcreate vg1 /dev/sdb
[root@mario2 ~]# vgcreate vg1 /dev/sdbVolume group "vg1" successfully created
5.创建lv逻辑卷
lvcreate -L 200M -n lv1 vg1
[root@mario2 ~]# lvcreate -L 200M -n lv1 vg1Logical volume "lv1" created.
—L:指定需要的空间大小
-n:lv的名字
vg1:所拿到空间对应的卷组名称
6.格式化
mkfs -t ext4 /dev/vg1/lv1
注意:这里不能格式化/dev/sdb,而是直接选择逻辑卷
7.挂载
mount -t ext4 /dev/vg1/lv1 /mnt/test
[root@mario2 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.1G 0 1.1G 0% /dev
tmpfs 1.1G 84K 1.1G 1% /dev/shm
tmpfs 1.1G 18M 1.1G 2% /run
tmpfs 1.1G 0 1.1G 0% /sys/fs/cgroup
/dev/sda3 18G 13G 4.8G 74% /
/dev/sr0 9.5G 9.5G 0 100% /mnt/cdrom
/dev/sda1 297M 163M 134M 55% /boot
tmpfs 220M 12K 220M 1% /run/user/42
tmpfs 220M 0 220M 0% /run/user/0
/dev/mapper/vg1-lv1 190M 1.6M 175M 1% /mnt/test
8.扩容
8.1如果vg里面还有空间
[root@mario2 ~]# vgsVG #PV #LV #SN Attr VSize VFree vg1 1 1 0 wz--n- 1020.00m 820.00m
直接lvcreate加容量
lvcreate -L +200M /dev/vg1/lv1
8.2如果vg里面没有空间
如将/dev/vg1的空间扩容到2G
1.创建pv
[root@mario2 ~]# pvcreate /dev/sdcPhysical volume "/dev/sdc" successfully created.
2.扩容vg
[root@mario2 ~]# vgextend vg1 /dev/sdcVolume group "vg1" successfully extended
[root@mario2 ~]# vgsVG #PV #LV #SN Attr VSize VFree vg1 2 1 0 wz--n- 1.99g <1.80g
3.扩容LV
[root@mario2 ~]# lvextend -L +200M /dev/vg1/lv1Size of logical volume vg1/lv1 changed from 200.00 MiB (50 extents) to 400.00 MiB (100 extents).Logical volume vg1/lv1 successfully resized.
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 1.1G 0 1.1G 0% /dev
tmpfs tmpfs 1.1G 84K 1.1G 1% /dev/shm
tmpfs tmpfs 1.1G 19M 1.1G 2% /run
tmpfs tmpfs 1.1G 0 1.1G 0% /sys/fs/cgroup
/dev/sda3 xfs 18G 14G 4.7G 74% /
/dev/sr0 iso9660 9.5G 9.5G 0 100% /mnt/cdrom
/dev/sda1 xfs 297M 163M 134M 55% /boot
tmpfs tmpfs 220M 12K 220M 1% /run/user/42
tmpfs tmpfs 220M 0 220M 0% /run/user/0
/dev/mapper/vg1-lv1 ext4 190M 1.6M 175M 1% /mnt/test
此时还没有加进来,lvs里面有了
[root@mario2 ~]# resize2fs /dev/vg1/lv1
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg1/lv1 is mounted on /mnt/test; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 4
The filesystem on /dev/vg1/lv1 is now 409600 blocks long.
最后查看df -hT显示已经过来了
其他: inode
查看inode
[root@mario2 ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
devtmpfs 277326 423 276903 1% /dev
tmpfs 281259 2 281257 1% /dev/shm
tmpfs 281259 963 280296 1% /run
tmpfs 281259 16 281243 1% /sys/fs/cgroup
/dev/sda3 9283072 258553 9024519 3% /
/dev/sr0 0 0 0 - /mnt/cdrom
/dev/sda1 153600 341 153259 1% /boot
tmpfs 281259 9 281250 1% /run/user/42
tmpfs 281259 1 281258 1% /run/user/0
/dev/mapper/vg1-lv1 102400 11 102389 1% /mnt/test
一个文件占据一个inode编号,inode号相当于索引,如果文件系统中的inode号用完以后不能再创建文件。inode决定了文件系统中的文件数量。但是针对已经满了inode的文件里面写数据仍然可以,但是如果创建新文件就不行,这就是因为数据存在block中。因此,一个磁盘的空间限制区别于inode和block两个方面。