LINUX, explain LVM partition

LVM explain

LVM

If you use a command, the command provides not found, indicating that we need to install a package, does not know the name of the package, only know the name of the command, we can use the command to search:

For example: we want to install lvm package, but do not know the real name of the package, just know that the order is pvcreate, we can use the following command:

yum provides "/*/prvcreate"

 

yum provides "/ * / pvcreate" # pvcreate command to search for packages based on
yum install -y lvm2 # install lvm tool
partprobe # update the partition table
vgremove # Delete volume group
Create a physical volume pvcreate #
View pvdisplay # pvs or physical volume
vgcreate # create a volume group
vgs or vgdisplay # View Volume Groups
Create a logical volume lvcreate #
lvs or logical view lvdisplay #
Lvresize -L # logical size specified logical volume expansion
e2fsck -f # check for disk errors
resize2fs # update disk information
xfs_growfs #XFS file system update disk information
vgextend # expansion volume group
1.PE (Physical Extend) physical expansion
2.PV (Physical Volume) physical volume
3.VG (Volume Group) Volume Group
4.LV (Logical Volume) Logical Volume
A, lvm explain
1. Create three partitions fdisk command, and using the command to change the partition ID is t 8e
    
    FIG New good partitioning:
    
2. pvcreate to create a physical volume
1. [root @ localhost ~] # pvcreate / dev / sdb1 # a / dev / sdb1 /, / dev / sdb2 /, / dev / create a physical volume sdb3             
    WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y                     # 提示是否签名,选择y
    Wiping ext4 signature on /dev/sdb1.
    Physical volume "/dev/sdb1" successfully created.
2. [root@localhost ~]# pvcreate /dev/sdb2
    Physical volume "/dev/sdb2" successfully created.
3. [root@localhost ~]# pvcreate /dev/sdb3
    WARNING: ext4 signature detected on /dev/sdb3 at offset 1080. Wipe it? [y/n]: y   
    Wiping ext4 signature on /dev/sdb3.
    Physical volume "/dev/sdb3" successfully create
3. pvs  或者 pvdisplay   查看所有的物理卷
[root@localhost ~]# pvs                                   #查看物理卷
  PV             VG Fmt  Attr PSize PFree
  /dev/sdb1     lvm2 ---  1.00g 1.00g
  /dev/sdb2     lvm2 ---  1.00g 1.00g
  /dev/sdb3     lvm2 ---  1.00g 1.00g
4.vgcreate   创建物理卷组 
   vgs 或者vgdisplay    查看物理卷组
1. [root@localhost ~]# vgcreate vga /dev/sdb1 /dev/sdb2          #将/dev/sdb1/和/dev/sdb2创建为物理卷组,卷组的名字为:vga
    Volume group "vga" successfully created
2. [root@localhost ~]# vgs                                                                #使用vgs查看物理卷组     
    VG  #PV #LV #SN Attr   VSize VFree
    vga   2   0   0 wz--n- 1.99g 1.99g
5. lvcreate   创建逻辑卷  -L 指定大小  -n指定逻辑卷的名称
    lvs 或者 lvdisplay    查看逻辑卷
1. [root@localhost ~]# lvcreate -L 100M -n lva vga                       创建一个逻辑卷lva,指定大小为lva                                     
    Logical volume "lva" created.
2. [root@localhost ~]# lvs
    LV   VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
    lva  vga -wi-a----- 100.00m  
7. 格式化逻辑卷,挂载逻辑卷
1. [root@localhost ~]# mkfs.ext4 /dev/vga/lva                       # 将逻辑卷/lva/格式化为ext4文件系统
2. [root@localhost ~]# mount /dev/vga/lva /mnt/                 #将逻辑卷/lva/挂载到mnt下
3. [root@localhost ~]# df -h
    文件系统                容量     已用      可用    已用%     挂载点
    /dev/sda3             16G     1.1G     15G       7%           /
    devtmpfs             911M     0        911M     0%        /dev
    tmpfs                   920M     0        920M     0%      /dev/shm
    tmpfs                   920M   17M     903M    2%    /run
    tmpfs                   920M     0         920M    0%      /sys/fs/cgroup
    /dev/sda1           197M  113M     85M     58%     /boot
    tmpfs                   184M     0        184M      0%     /run/user/0
   /dev/mapper/vga-lva   93M       1.6M     85M    2% /mnt        挂载到mnt下的为/dev/vga/lva,显示的名字为/dev/mapper/vga-lva   ,使用ls查看两个文件实际上指向是同一个文件../dm-0
4. [root@localhost ~]# ls -l /dev/mapper/vga-lva
    lrwxrwxrwx. 1 root root 7 12月 30 18:33 /dev/mapper/vga-lva -> ../dm-0
5. [root@localhost ~]# ls -l /dev/vga/lva
    lrwxrwxrwx. 1 root root 7 12月 30 18:33 /dev/vga/lva -> ../dm-0
 
 
二、逻辑卷的扩容和缩容
针对ext4的文件系统扩容:
1. lvresize -L 扩容逻辑卷,-L指定逻辑卷的大小
1. [root@localhost ~]# umount /mnt                                        #扩容逻辑卷之前要先将逻辑卷卸载
2. [root@localhost ~]# lvresize -L 300M /dev/vga/lva            #扩容逻辑卷lva,并指定逻辑卷的大小为300M 
    Size of logical volume vga/lva changed from 100.00 MiB (25 extents) to 300.00 MiB (75 extents).   #逻辑卷由100M变为300M
    Logical volume vga/lva successfully resized.
2. e2fsck -f   检查磁盘错误
[root@localhost ~]# e2fsck -f /dev/vga/lva           #扩容后检查lva磁盘是否存在错误
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vga/lva: 13/25688 files (7.7% non-contiguous), 8899/102400 blocks
3. resize2fs  更新逻辑卷信息
[root@localhost ~]# resize2fs /dev/vga/lva               #更新磁盘lva的信息
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vga/lva to 307200 (1k) blocks.
The filesystem on /dev/vga/lva is now 307200 blocks long.
针对ext4的文件系统缩容:
1.  先使用e2fsck 检查磁盘错误
[root@localhost ~]# umount /mnt                      #先将挂载的磁盘进行卸载
[root@localhost ~]# e2fsck -f /dev/vga/lva
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vga/lva: 13/75088 files (7.7% non-contiguous), 15640/307200 blocks
2. 使用resize2fs更新磁盘信息  
[root@localhost ~]# resize2fs /dev/vga/lva 100M              #注意更新的磁盘信息要将缩小到多大写上去
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vga/lva to 102400 (1k) blocks.
The filesystem on /dev/vga/lva is now 102400 blocks long.
3. 使用lvresize缩减磁盘 
[root@localhost ~]# lvresize -L 100M /dev/vga/lva                      #缩减lva到100M     
  WARNING: Reducing active logical volume to 100.00 MiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vga/lva? [y/n]: y                            #提示是否缩减,选择y 
  Size of logical volume vga/lva changed from 300.00 MiB (75 extents) to 100.00 MiB (25 extents).
  Logical volume vga/lva successfully resized.                             #缩减成功
针对xfs文件系统的扩容
1. 将磁盘格式化为xfs文件系统
[root@localhost ~]# mkfs.xfs -f /dev/vga/lva
2. 挂载磁盘,XFS文件系统进行扩容的时候需要挂载磁盘
[root@localhost ~]# mount /dev/vga/lva /mnt                      #将磁盘挂载到mnt下
[root@localhost ~]# df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/sda3             16G  1.1G   15G    7% /
devtmpfs             911M     0  911M    0% /dev
tmpfs                920M     0  920M    0% /dev/shm
tmpfs                920M   17M  904M    2% /run
tmpfs                920M     0  920M    0% /sys/fs/cgroup
/dev/sda1            197M  113M   85M   58% /boot
tmpfs                184M     0  184M    0% /run/user/0
/dev/mapper/vga-lva   97M  5.2M   92M    6% /mnt         #可以看到大小为100M
3. 使用lvresize扩容
[root@localhost ~]# lvresize -L 300M /dev/vga/lva              #  指定扩容的大小为300M
  Size of logical volume vga/lva changed from 100.00 MiB (25 extents) to 300.00 MiB (75 exten
  Logical volume vga/lva successfully resized.
4. xfs_growfs   扩展XFS文件系统
[root@localhost ~]# xfs_growfs /dev/vga/lva
meta-data=/dev/mapper/vga-lva    isize=512    agcount=4, agsize=6400 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=25600, imaxpct=25
             =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log           =internal               bsize=4096   blocks=855, version=2
                 =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 25600 to 76800
 
三、卷组的扩容
1. vgextend   扩容卷组
[root@localhost ~]# vgs
  VG  #PV #LV #SN Attr   VSize VFree
  vga   2   1   0 wz--n- 1.99g <1.70g                                 #卷组vga的大小为2G
[root@localhost ~]# vgextend vga /dev/sdb3
  Volume group "vga" successfully extended                  #将/dev/sdb3/加入到卷组vga
[root@localhost ~]# vgs
  VG  #PV #LV #SN Attr   VSize  VFree
  vga   3   1   0 wz--n- <2.99g <2.70g                            #卷组vga的大小变为3G
 

yum provides "/*/pvcreate"    #根据命令pvcreate搜索软件包
yum install -y lvm2       #安装lvm工具
partprobe                                  #更新分区表
vgremove                                   #删除卷组
pvcreate                                     #创建物理卷
pvs  或者 pvdisplay                   #查看物理卷
vgcreate                                     #创建卷组
vgs  或者 vgdisplay                   #查看卷组
lvcreate                                      #创建逻辑卷
lvs   或者 lvdisplay                    #查看逻辑卷
lvresize -L                                  #扩容逻辑卷指定逻辑卷的大小
e2fsck -f                                    #检查磁盘错误
resize2fs                             #更新磁盘信息
xfs_growfs                                  #XFS文件系统更新磁盘信息
vgextend                                   #扩容卷组
1.PE   (Physical Extend) 物理拓展
2.PV   (Physical Volume) 物理卷
3.VG   (Volume Group) 卷组
4.LV   (Logical Volume) 逻辑卷
一、 lvm讲解
1. 使用fdisk命令新建三个分区,并且使用t命令改变分区ID为8e
    
    新建好的分区如图:
    
2. pvcreate    创建物理卷
1. [root@localhost ~]# pvcreate /dev/sdb1                                                                                           # 将/dev/sdb1/ 、 /dev/sdb2/、  /dev/sdb3 创建为物理卷             
    WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y                     # 提示是否签名,选择y
    Wiping ext4 signature on /dev/sdb1.
    Physical volume "/dev/sdb1" successfully created.
2. [root@localhost ~]# pvcreate /dev/sdb2
    Physical volume "/dev/sdb2" successfully created.
3. [root@localhost ~]# pvcreate /dev/sdb3
    WARNING: ext4 signature detected on /dev/sdb3 at offset 1080. Wipe it? [y/n]: y   
    Wiping ext4 signature on /dev/sdb3.
    Physical volume "/dev/sdb3" successfully create
3. pvs  或者 pvdisplay   查看所有的物理卷
[root@localhost ~]# pvs                                   #查看物理卷
  PV             VG Fmt  Attr PSize PFree
  /dev/sdb1     lvm2 ---  1.00g 1.00g
  /dev/sdb2     lvm2 ---  1.00g 1.00g
  /dev/sdb3     lvm2 ---  1.00g 1.00g
4.vgcreate   创建物理卷组 
   vgs 或者vgdisplay    查看物理卷组
1. [root@localhost ~]# vgcreate vga /dev/sdb1 /dev/sdb2          #将/dev/sdb1/和/dev/sdb2创建为物理卷组,卷组的名字为:vga
    Volume group "vga" successfully created
2. [root@localhost ~]# vgs                                                                #使用vgs查看物理卷组     
    VG  #PV #LV #SN Attr   VSize VFree
    vga   2   0   0 wz--n- 1.99g 1.99g
5. lvcreate   创建逻辑卷  -L 指定大小  -n指定逻辑卷的名称
    lvs 或者 lvdisplay    查看逻辑卷
1. [root@localhost ~]# lvcreate -L 100M -n lva vga                       创建一个逻辑卷lva,指定大小为lva                                     
    Logical volume "lva" created.
2. [root@localhost ~]# lvs
    LV   VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
    lva  vga -wi-a----- 100.00m  
7. 格式化逻辑卷,挂载逻辑卷
1. [root@localhost ~]# mkfs.ext4 /dev/vga/lva                       # 将逻辑卷/lva/格式化为ext4文件系统
2. [root@localhost ~]# mount /dev/vga/lva /mnt/                 #将逻辑卷/lva/挂载到mnt下
3. [root@localhost ~]# df -h
    文件系统                容量     已用      可用    已用%     挂载点
    /dev/sda3             16G     1.1G     15G       7%           /
    devtmpfs             911M     0        911M     0%        /dev
    tmpfs                   920M     0        920M     0%      /dev/shm
    tmpfs                   920M   17M     903M    2%    /run
    tmpfs                   920M     0         920M    0%      /sys/fs/cgroup
    /dev/sda1           197M  113M     85M     58%     /boot
    tmpfs                   184M     0        184M      0%     /run/user/0
   /dev/mapper/vga-lva   93M       1.6M     85M    2% /mnt        挂载到mnt下的为/dev/vga/lva,显示的名字为/dev/mapper/vga-lva   ,使用ls查看两个文件实际上指向是同一个文件../dm-0
4. [root@localhost ~]# ls -l /dev/mapper/vga-lva
    lrwxrwxrwx. 1 root root 7 12月 30 18:33 /dev/mapper/vga-lva -> ../dm-0
5. [root@localhost ~]# ls -l /dev/vga/lva
    lrwxrwxrwx. 1 root root 7 12月 30 18:33 /dev/vga/lva -> ../dm-0
 
 
二、逻辑卷的扩容和缩容
针对ext4的文件系统扩容:
1. lvresize -L 扩容逻辑卷,-L指定逻辑卷的大小
1. [root@localhost ~]# umount /mnt                                        #扩容逻辑卷之前要先将逻辑卷卸载
2. [root@localhost ~]# lvresize -L 300M /dev/vga/lva            #扩容逻辑卷lva,并指定逻辑卷的大小为300M 
    Size of logical volume vga/lva changed from 100.00 MiB (25 extents) to 300.00 MiB (75 extents).   #逻辑卷由100M变为300M
    Logical volume vga/lva successfully resized.
2. e2fsck -f   检查磁盘错误
[root@localhost ~]# e2fsck -f /dev/vga/lva           #扩容后检查lva磁盘是否存在错误
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vga/lva: 13/25688 files (7.7% non-contiguous), 8899/102400 blocks
3. resize2fs  更新逻辑卷信息
[root@localhost ~]# resize2fs /dev/vga/lva               #更新磁盘lva的信息
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vga/lva to 307200 (1k) blocks.
The filesystem on /dev/vga/lva is now 307200 blocks long.
针对ext4的文件系统缩容:
1.  先使用e2fsck 检查磁盘错误
[root@localhost ~]# umount /mnt                      #先将挂载的磁盘进行卸载
[root@localhost ~]# e2fsck -f /dev/vga/lva
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vga/lva: 13/75088 files (7.7% non-contiguous), 15640/307200 blocks
2. 使用resize2fs更新磁盘信息  
[root@localhost ~]# resize2fs /dev/vga/lva 100M              #注意更新的磁盘信息要将缩小到多大写上去
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vga/lva to 102400 (1k) blocks.
The filesystem on /dev/vga/lva is now 102400 blocks long.
3. 使用lvresize缩减磁盘 
[root@localhost ~]# lvresize -L 100M /dev/vga/lva                      #缩减lva到100M     
  WARNING: Reducing active logical volume to 100.00 MiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vga/lva? [y/n]: y                            #提示是否缩减,选择y 
  Size of logical volume vga/lva changed from 300.00 MiB (75 extents) to 100.00 MiB (25 extents).
  Logical volume vga/lva successfully resized.                             #缩减成功
针对xfs文件系统的扩容
1. 将磁盘格式化为xfs文件系统
[root@localhost ~]# mkfs.xfs -f /dev/vga/lva
2. 挂载磁盘,XFS文件系统进行扩容的时候需要挂载磁盘
[root@localhost ~]# mount /dev/vga/lva /mnt                      #将磁盘挂载到mnt下
[root@localhost ~]# df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/sda3             16G  1.1G   15G    7% /
devtmpfs             911M     0  911M    0% /dev
tmpfs                920M     0  920M    0% /dev/shm
tmpfs                920M   17M  904M    2% /run
tmpfs                920M     0  920M    0% /sys/fs/cgroup
/dev/sda1            197M  113M   85M   58% /boot
tmpfs                184M     0  184M    0% /run/user/0
/dev/mapper/vga-lva   97M  5.2M   92M    6% /mnt         #可以看到大小为100M
3. 使用lvresize扩容
[root@localhost ~]# lvresize -L 300M /dev/vga/lva              #  指定扩容的大小为300M
  Size of logical volume vga/lva changed from 100.00 MiB (25 extents) to 300.00 MiB (75 exten
  Logical volume vga/lva successfully resized.
4. xfs_growfs   扩展XFS文件系统
[root@localhost ~]# xfs_growfs /dev/vga/lva
meta-data=/dev/mapper/vga-lva    isize=512    agcount=4, agsize=6400 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=25600, imaxpct=25
             =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log           =internal               bsize=4096   blocks=855, version=2
                 =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 25600 to 76800
 
三、卷组的扩容
1. vgextend   扩容卷组
[root@localhost ~]# vgs
  VG  #PV #LV #SN Attr   VSize VFree
  vga   2   1   0 wz--n- 1.99g <1.70g                                 #卷组vga的大小为2G
[root@localhost ~]# vgextend vga /dev/sdb3
  Volume group "vga" successfully extended                  #将/dev/sdb3/加入到卷组vga
[root@localhost ~]# vgs
  VG  #PV #LV #SN Attr   VSize  VFree
  vga   3   1   0 wz--n- <2.99g <2.70g                            #卷组vga的大小变为3G

Guess you like

Origin www.cnblogs.com/magita/p/12175699.html