怎么创建一个伸缩磁盘呢?

本文标识 : 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。

期待一起成长