Linux系统磁盘管理(lvm逻辑卷管理)

linux系统用户常遇到的一个问题就是如何精准的评估分区的大小,已分配合适的磁盘空间;普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。(参考百度百科)


1、LVM常用的术语:

  • 物理存储介质(The physical media):LVM存储介质可以是磁盘分区,整个磁盘,RAID阵列或SAN磁盘,设备必须初始化为LVM物理卷,才能与LVM结合使用;
  • 物理卷PV(physical volume) :物理卷就是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数,创建物理卷它可以用硬盘分区,也可以用硬盘本身;
  • 卷组VG(Volume Group) :一个LVM卷组由一个或多个物理卷组成;
  • 逻辑卷LV(logical volume) :LV建立在VG之上,可以在LV之上建立文件系统;
  • PE(physical extents) :PV物理卷中可以分配的最小存储单元,PE的大小是可以指定的,默认为4MB;
  • LE(logical extent) : LV逻辑卷中可以分配的最小存储单元,在同一个卷组中,LE的大小和PE是相同的,并且一一对应;
    1675881-20190516084524874-995338651.png

2、常用的LVM部署命令

功能/命令物理卷管理卷组管理逻辑卷管理
扫描pvscanvgscanlvscan
建立pvcreatevgcreatelvcreate
显示pvdisplayvgdisplaylvdisplay
删除pvremovevgremovelvremove
扩展vgextendlvextend
缩小vgreducelvreduce

3、LVM逻辑卷部署

物理卷 --> 卷组 --> 逻辑卷
①. 创建物理卷
pvcreate /dev/sd{b,c}
②. 创建卷组
vgcreate vg_du /dev/sd{b,c}
③. 创建逻辑卷
lvcreate -n lv_du -L 500M vg_ken
④. 格式化
mkfs.xfs /dev/vg_du/lv_du
⑥. 挂载使用
mount /dev/vg_du/lv_du /test

注意:卸载命令umount
后面跟挂载点或者磁盘都可以

LVM扩容
lvextend -L +300M /dev/vg_du/lv_du
lvextend -L 800M /dev/vg_du/lv_du

xfs_growfs /dev/vg_du/lv_du

演示:

#第一步:添加磁盘并查看

╭─root@localhost.localdomain ~  
╰─➤  ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdc

#第二步:创建物理卷

╭─root@localhost.localdomain ~  
╰─➤  pvcreate /dev/sd{b,c}                                                         5 ↵
  Physical volume "/dev/sdb" successfully created.
  Physical volume "/dev/sdc" successfully created.

#第三步:创建卷组

╭─root@localhost.localdomain ~  
╰─➤  vgcreate vg_du /dev/sd{b,c}
  Volume group "vg_du" successfully created

#第四步:创建逻辑卷并格式化逻辑卷

╭─root@localhost.localdomain ~  
╰─➤  man lvcreate           #开手册查看用法,常用option:-l   -L   -n                                      
╭─root@localhost.localdomain ~  
╰─➤  lvcreate -L 1G -n lv_du1 vg_du    #-L:size  大小      -n:name  名字
  Logical volume "lv_du1" created.
╭─root@localhost.localdomain ~  
╰─➤  mkfs.xfs /dev/vg_du/lv_du1     
meta-data=/dev/vg_du/lv_du1      isize=512    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
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.localdomain ~  
╰─➤  lvcreate -l 250 -n lv_du2 vg_du       #-l :数量                                        
  Logical volume "lv_du2" created.
╭─root@localhost.localdomain ~  
╰─➤  mkfs.xfs /dev/vg_du/lv_du2
meta-data=/dev/vg_du/lv_du2      isize=512    agcount=4, agsize=64000 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=256000, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=855, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

#第五步:挂载

╭─root@localhost.localdomain ~  
╰─➤  mkdir /du1
╭─root@localhost.localdomain ~  
╰─➤  mkdir /du2
╭─root@localhost.localdomain ~  
╰─➤  mount /dev/vg_du/lv_du1 /du1
╭─root@localhost.localdomain ~  
╰─➤  mount /dev/vg_du/lv_du2 /du2
╭─root@localhost.localdomain ~  
╰─➤  df       #查询挂载成功
文件系统                    1K-块    已用     可用 已用% 挂载点
/dev/mapper/cl-root      17811456 4837880 12973576   28% /
devtmpfs                   484108       0   484108    0% /dev
tmpfs                      499968     144   499824    1% /dev/shm
tmpfs                      499968    7228   492740    2% /run
tmpfs                      499968       0   499968    0% /sys/fs/cgroup
/dev/sda1                 1038336  176600   861736   18% /boot
tmpfs                       99996      16    99980    1% /run/user/0
/dev/sr0                  4276440 4276440        0  100% /run/media/root/CentOS 7 x86_64
/dev/mapper/vg_du-lv_du1  1038336   32944  1005392    4% /du1
/dev/mapper/vg_du-lv_du2  1020580   32944   987636    4% /du2

#第六步:开机自启

╭─root@localhost.localdomain ~  
╰─➤  echo "/dev/mapper/vg_du-lv_du1 /du1 xfs defaults 0 0" >>  /etc/fstab
╭─root@localhost.localdomain ~  
╰─➤  echo “mount /dev/vg_du/lv_du2 /du2”  >> /etc/rc.local
╭─root@localhost.localdomain ~  
╰─➤  chmod +x /etc/rc.local     #给个执行权限

# /etc/rc.local 
   是使用者自订开机启动程序的文件,把需要开机自动运行的程序写在这个脚本里

1675881-20190515204451521-1239739267.jpg

转载于:https://www.cnblogs.com/du-z/p/10872203.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值