lvm管理


1.lvm名词

lvm逻辑卷,可以让设备自由伸缩的一个设备管理软件

pv物理卷

vg物理卷组

pe物理拓展,lvm最小的存储单元

lvm逻辑卷,时最终我们使用的可以伸缩的设备

 

2.lvm的制作

首先划分lvm所用到的设备,这些设备的功能id必须时linux LVM

 

1)lvm建立

pvcreate /dev/vdb1##把物理分区做成物理卷

pvs|pvdisplay##查看物理卷

 

vgcreate vg0 /dev/vdb1##用制作好的/dev/vdb1这个物理卷制作一个物理卷组vg0

vgs|vgdisplay##查看物理卷组

 

lvcreate -L 200M -n lv0 vg0##在vg0这个组中建立出lv0设备 -L 指定设备大小 -n 指定设备名字

lvs|lvdisplay##对逻辑卷设备进行查看

 

wKiom1j_biOym6ACAABcTnag5Rg114.jpg

wKioL1j_biOB_U9XAADcNRth2yc033.jpg

wKiom1j_biPBdRDUAAD_PGVahVE680.jpg

wKiom1j_biPRV489AAAuVKXkKEw857.jpg


3.lvm设备的扩大

###############针对xfs文件系统######################

xfs文件系统只能扩大不能缩减

1)lvm扩大

lvextend —L 500M /dev/vg0/lv0##扩大lvm设备到500M

xfs_growfs/dev/vg0/lv0##扩大xfs文件系统到设备大小

2)vg扩大

pvcreate /dev/vdb2##在pv中增加一块设备/dev/vdb2

vgextend vg0 /dev/vdb2##把新建立的/dev/vdb2添加到vg0中

 

wKioL1j_bq7B_A56AADA8844hYs118.jpg

wKioL1j_brDyD6fzAAD1kYhi9CA232.jpg


##############针对ext文件系统####################

ext文件系统可以扩大也可以缩减

1)lvm扩大

lvextend —L 2G /dev/vg0/lv0##扩大lvm设备到2G

resize2fs /dev/vg0/lv0##设定文件系统大小和设备同步

2)vg扩大

         pvcreate /dev/vdb3                      ##在pv中增加一块设备/dev/vdb3

         vgextend vg0 /dev/vdb3                  ##把新建立的/dev/vdb2添加到vg0中

3)lvm缩减

umount /dev/vg0/lv0##卸载设备,因为文件系统缩减不支持在线操作

e2fsck -f /dev/vg0/lv0##检测文件系统,确定文件系统中已有数据大小防止过度缩减

resize2fs  /dev/vg0/lv0  1G##把文件系统缩减到1G

lvreduce  -L 1G /dev/vg0/lv0 ##设备缩减到1G

4)vg缩减

#在vg缩减时只能缩减没有被占用的设备

pvmove设备1 设备2##把设备1上的所有数据移动到设备2上

vgreducevg0/dev/vdb1##把vg0中的/dev/vdb1删除

pvremove/dev/vdb1##把/dev/vdb1上的lvm管理信息删除

 

wKioL1j_b2mggYC4AAB6qycMAoE549.jpg

wKiom1j_b2riKVEOAACPkn2cE7o806.jpg

wKiom1j_b2zg1ErJAADWKjMakyE852.jpg


5)lvm丢失设备的删除

[root@westos ~]# pvs

  PV g2OIge-1awl-HOFo-XwNG-EhUg-KP5E-GBQGRt not recognised. Is the device missing?

  PV g2OIge-1awl-HOFo-XwNG-EhUg-KP5E-GBQGRt not recognised. Is the device missing?

  PV g2OIge-1awl-HOFo-XwNG-EhUg-KP5E-GBQGRt not recognised. Is the device missing?

  PV g2OIge-1awl-HOFo-XwNG-EhUg-KP5E-GBQGRt not recognised. Is the device missing?

  PV             VG   Fmt  Attr PSize    PFree   

  /dev/vdb1      vg0  lvm2 a--  1020.00m  820.00m

  /dev/vdb2      vg0  lvm2 a--  1020.00m 1020.00m

  unknown device vg0  lvm2 a-m   996.00m  996.00m##设备丢失

 

[root@westos ~]# vgreduce --removemissing vg0##删除vg0中丢失的设备

 PV g2OIge-1awl-HOFo-XwNG-EhUg-KP5E-GBQGRt not recognised. Is the device missing?

 PV g2OIge-1awl-HOFo-XwNG-EhUg-KP5E-GBQGRt not recognised. Is the device missing?

 Wrote out consistent volume group vg0

 

 

[root@westos ~]# pvs

PV         VG   Fmt  Attr PSize    PFree   

/dev/vdb1  vg0  lvm2 a--  1020.00m  820.00m

/dev/vdb2  vg0  lvm2 a--  1020.00m 1020.00m

 

 

6.lvm快照

lvcreate -L 20M -n lv0-backup -s /dev/vg0/lv0##给/dev/vg0/lv0建立快照,-L 指定快照大小,-n指定快照名字 -s指定快照模板设备

mount /dev/vg0/lv0-backup/userdate

当快照设备里的数据被更改,如果想还原,删除快照设备,在重新建立快照即可

 

 

wKiom1j_b7Hx1-J5AACjI1Is65o558.jpg

wKiom1j_b7PQMO_UAAC906skvIY574.jpg


 

7.lvm删除

lvremove---->vgremove----->pvremove

 wKioL1j_b8TypLwVAACf43m3dsw330.jpg

 

########附加知识点------《磁盘配额》######################

1.磁盘配额时限制用户向设备中写入数据的大小,或者个数

2.此这定针对与设备的,

3.做法

mount -o usrquota,grpquota /dev/vdb1  /pub##激活配额功能参数

quotaon -ugv /pub##开启配额

edquota -u lee ##设定lee的配额

repquota -a##root可以执行,查看用户配额信息

quota##配额限制用户查看自己配额信息命令

4.开机自动激活配额

vim /etc/fstab

/dev/vdb1/pubxfsdefaults,usrquota,grpquota0 0

 

5.关闭配额

删除vim /etc/fstab中的配额参数

quotaoff -ugv 设备

 

wKiom1j-IL_DYALwAAC1wUDV2pM343.jpg

wKioL1j-JB6ziXAxAACVU5r8PmE528.jpg

wKioL1j-IMPy1uPDAACeACVfAnQ533.jpg

wKiom1j-JFbRBF0FAABCgig3VeE067.jpg

wKioL1j-IL-xAz3xAABmnFgbPWg763.jpg

wKioL1j-JI6zZkUBAACl6lD0cvo346.jpg


wKioL1j-IMXhklB5AACwlt4eRv4433.jpg




 

 

linux中常用的基础命令


1.diff比较两个文件的不同

diff -u file file.new >file.path##生成补丁文件

yum install patch -y##安装打补丁工具

patch -b file file.path##给老软件打补丁,清且对老软件进行备份

 

 

2.grep  ##过滤字符

-i##或略大小写

-n##显示结果所在行的行号

-c##结果个数

-v##反向过滤

-r 关键字目录##在目录中过滤还有关键字的文件

-E "关键字1|关键字2|....."##过滤多个关键字

 

 

3.sort  ##排序

-n##纯数字

-r##倒序

-u##去掉重复行

-t##指定分隔符

-k##指定排序的列

 

 

 

4.uniq  ##处理重复行

-c##统计重复行的个数

-u##显示唯一的行

-d##显示重复行

 

5.tr  ##转换字符大小写

tr 'a-z' 'A-Z'<file##把file中所有小写字符转换成大写

 

6.sed  ##控制流输出

sed 's/nologin/westos/g' passwd ##替换输出中的nologin为westos

sed '1,5s/nologin/westos/g' passwd ##替换输出中1-5行的nologin为wesots

sed '/games/,/nobody/s/nologin/westos/g' passwd##替换输出中的games字符到nobody字符之间的nologin为westos

sed -e 's/nologin/westos/g' -e 's/sbin/lee/g' passwd##多条替换策略用-e连接

sed 3d passwd##不显示文件中的第三行

sed 3,7d file##不显示文件中的3-7行

sed 3,7p file ##重复显示文件中的3-7行

sed -n 3,7p file ##只显示文件中的3-7行

[root@westos mnt]# cat rule ##规则文件内容

s/nologin/westos/g

s/sbin/lee/g

[root@westos mnt]# sed -f rule  file ##使用规则文件更改输出

     1root:x:0:0:root:/root:/bin/bash

     2bin:x:1:1:bin:/bin:/lee/westos

     3daemon:x:2:2:daemon:/lee:/lee/westos

     4adm:x:3:4:adm:/var/adm:/lee/westos