怎么创建一个伸缩磁盘呢?
- 2020 年 1 月 1 日
- 筆記
本文标识 : L00024
本文编辑 : 灭霸 编程工具 : redhat7 阅读时长 : 10分钟

还是那个话要准备好磁盘
LVM的创建
[root@localhost /]# fdisk -l
磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x00049a27 设备 Boot Start End Blocks Id System /dev/sda1 * 2048 616447 307200 83 Linux /dev/sda2 616448 17000447 8192000 82 Linux swap / Solaris /dev/sda3 17000448 18638847 819200 83 Linux /dev/sda4 18638848 41943039 11652096 5 Extended /dev/sda5 18640896 41943039 11651072 83 Linux 磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x74ae20a2 设备 Boot Start End Blocks Id System /dev/sdb1 2048 2099199 1048576 83 Linux /dev/sdb2 2099200 6293503 2097152 83 Linux /dev/sdb3 6293504 8390655 1048576 83 Linux 磁盘 /dev/sdc:10.7 GB, 10737418240 字节,20971520 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘 /dev/sdd:10.7 GB, 10737418240 字节,20971520 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节
[root@localhost /]# pvcreate /dev/sdb[1-3]
Physical volume "/dev/sdb1" successfully created Physical volume "/dev/sdb2" successfully created Physical volume "/dev/sdb3" successfully created
[root@localhost /]# pvscan
PV /dev/sdb1 lvm2 [1.00 GiB] PV /dev/sdb2 lvm2 [2.00 GiB] PV /dev/sdb3 lvm2 [1.00 GiB] Total: 3 [4.00 GiB] / in use: 0 [0 ] / in no VG: 3 [4.00 GiB]
[root@localhost /]# pvdisplay
"/dev/sdb1" is a new physical volume of "1.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb1 VG Name PV Size 1.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID tHGdRY-B5MD-eZCu-2maQ-DXNl-YZFN-NQie3Y "/dev/sdb2" is a new physical volume of "2.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb2 VG Name PV Size 2.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 5dEYRc-dtgY-HEKu-ItY2-HEAU-lncy-Vjjyyp "/dev/sdb3" is a new physical volume of "1.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb3 VG Name PV Size 1.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID oTBpce-BBeX-jZHP-wGvx-Kpt5-eJIr-WSUcLB
[root@localhost /]# vgcreate -s 4M snow /dev/sdb[1-3]
Volume group "snow" successfully created
[root@localhost /]# vgscan
Reading all physical volumes. This may take a while... Found volume group "snow" using metadata type lvm2
[root@localhost /]# vgdisplay
--- Volume group --- VG Name snow System ID Format lvm2 Metadata Areas 3 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 3 Act PV 3 VG Size 3.99 GiB PE Size 4.00 MiB Total PE 1021 Alloc PE / Size 0 / 0 Free PE / Size 1021 / 3.99 GiB VG UUID 65i9I5-nMjS-dGXJ-BXAZ-8vcn-ZP9v-XZomrM
[root@localhost /]# lvcreate -L 3G -n lv snow
Logical volume "lv" created.
[root@localhost /]# lvscan
ACTIVE '/dev/snow/lv' [3.00 GiB] inherit
[root@localhost /]# lvdisplay
--- Logical volume --- LV Path /dev/snow/lv LV Name lv VG Name snow LV UUID dtQhW5-I8QK-tHal-lpnM-gCQM-4Ffd-eR4j3Y LV Write Access read/write LV Creation host, time localhost.localdomain, 2019-11-10 20:05:02 +0800 LV Status available # open 0 LV Size 3.00 GiB Current LE 768 Segments 3 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0
[root@localhost /]# mkfs.xfs /dev/snow/lv
meta-data=/dev/snow/lv isize=256 agcount=4, agsize=196608 blks = sectsz=512 attr=2, projid32bit=1 = crc=0 finobt=0 data = bsize=4096 blocks=786432, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=0 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost /]# ls
admin boot etc lib media opt root sbin sys usr bin dev home lib64 mnt proc run srv tmp var
[root@localhost /]# cd /mnt/
[root@localhost mnt]# ls
[root@localhost mnt]# mkdir aa
[root@localhost mnt]# ls
aa
[root@localhost mnt]# mount /dev/snow/lv aa/
[root@localhost aa]# df -h
文件系统 容量 已用 可用 已用% 挂载点 /dev/sda5 12G 2.9G 8.3G 27% / devtmpfs 979M 0 979M 0% /dev tmpfs 993M 144K 993M 1% /dev/shm tmpfs 993M 9.0M 984M 1% /run tmpfs 993M 0 993M 0% /sys/fs/cgroup /dev/sda3 797M 36M 761M 5% /home /dev/sda1 297M 130M 168M 44% /boot tmpfs 199M 12K 199M 1% /run/user/0 /dev/sr0 3.8G 3.8G 0 100% /run/media/root/RHEL-7.2 Server.x86_64 /dev/mapper/snow-lv 3.0G 33M 3.0G 2% /mnt/aa
看到这里就可以用了,挂载了lvm的aa以后目录写入的就是lvm里面的,当卸载下来挂到其他的目录下写到里面的内容就会跟随被带走。
扩展和减少也是类似,但是要注意扩展和减少的时候Resizefs /dev/snow/lv /扩展文件系统在扩展/缩减空间之后,空间表面上增加,但实际上仍然需要处理block总数,以达到块与空间容量是对应的。因此无论是扩展/缩减空间都需要对块重新resize。
期待一起成长