LINUX ,分区 LVM讲解

LVM讲解

LVM

如果使用一个命令时,提供未找到命令,说明我们需要安装一个包,若不知道包的名字,只知道命令名,我们可以用命令去搜:

比如:我们要安装lvm的包,但不知道真正的包名,只知道命令是pvcreate,我们可以用以下命令:

yum provides "/*/prvcreate"

 

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
     LINUX ,分区 LVM讲解_第1张图片
    新建好的分区如图:
     LINUX ,分区 LVM讲解_第2张图片
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
 

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
     LINUX ,分区 LVM讲解_第3张图片
    新建好的分区如图:
     LINUX ,分区 LVM讲解_第4张图片
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

你可能感兴趣的:(LINUX ,分区 LVM讲解)