在数据盘上建立LVM
1. fdisk -l
2.fdisk /dev/vdb (在数据盘上创建linux_8e分区)
2.1
2.2 同步分区表 partprobe或者重启
3.pvscan
4.pvcreate /dev/vdb1
5.pvdisplay 或 pvs
6.vgscan
7.vgcreate your_vgname /dev/vdb1 例:vgcreate vg1 /dev/vdb1
注:如已存在该vg,将新硬盘空间加入该vg使用vgextend your_vgname /dev/vdb1
8.vgdisplay 或 vgs
9.lvcreate -L 40G -n your_lvname your_vgname
lvcreate -l PE总个数 your_lvname your_vgname
例:lvcreate -L 40956M -n lv1 vg1
因为实际容量为40G减去1个PE,每个PE是4M(用vgdisplay查看),所以Free总容量是(1024x40-4)M
lvcreate -l 76799 -n lv1 vg1
76799是PE总个数(用vgdisplay查看)
10.lvdisplay
11.fdisk -l
12.mkfs.ext4 /dev/mapper/vg1-lv1
或 mkfs.xfs /dev/mapper/vg1-lv1 但xfs文件系统无法缩容,不建议使用
注:使用fdisk -l 来确定lv和/dev/mapper/****的对应关系,参考http://blog.csdn.net/gtlions/article/details/22440095
13.mount /dev/mapper/vg1-lv1 /data
参考:
https://www.qcloud.com/doc/product/213/2974
-------扩容---------------------
1.备份
xfsdump -f root.dump /
xfsdump -I
2.通过fdisk的n指令增加一个分区(如增加磁盘)
fdisk -l
fdisk /dev/sdb3
partprobe 分区立即生效
3.创建物理卷PV(如增加磁盘)
fdisk -l
pvcreate /dev/sdb3
4.vg扩容
vgextend centos /dev/sdb3
5.lv扩容
lvresize -r -L +450G /dev/mapper/centos-root (该处可填写lvdisplay中显示的LV Path)
或lvextend -r -l +100%FREE /dev/mapper/centos-root
注意:-r 或--resizefs参数表示自动调用在线扩容程序,ext调用resize2fs,xfs调用xfs_growfs
6.在线扩容文件系统(上一步中如带-r或--resizefs且文件系统支持fsadm,则该步可跳过)
ext文件系统:resize2fs /dev/mapper/centos-root
xfs文件系统:xfs_growfs /dev/mapper/centos-root
7.查看 df -lh
参考:http://www.cnblogs.com/haoyufeng/p/4439192.html
---------缩容---------------
ext支持缩容,xfs不支持缩容只能扩容,
以下是ext缩容步骤
1.
xfs要缩小容量,只能先删除然后再建立lv
1.备份
tar zcvf home.tar.gz /home
或xfsdump -f home.dump /home
2.卸载并查看是否有应用仍在使用对应的目录分区
umount /home
lsof -f |grep /home
注意:在跑的容器挂载卷会使用文件系统,需要lsof -f |grep 多几次
3.删除对应lv
lvdisplay
lvremove /dev/centos/home
4.建立新的lv
lvcreate -L 300GB -n home centos
5.格式化
fdisk -l
mkfs.xfs /dev/mapper/centos-home
注:如想更换为ext4,此处使用.mkfs.ext4 /dev/mapper/centos-home
6.挂载
mount /dev/mapper/centos-home /home
vi /etc/fstab
7.还原
tar zxvf home.tar.gz
一般是先做fdisk,将磁盘按需要进行分区。然后pvcreate /dev/sdxn 对各个分区设备创建磁盘。
然后将pv加入vg
vgextend vgname 加参数指定pv
lvcreate,创建lv。
若使用文件系统,mkfs 然后mount即可
若使用裸设备,则需要使用raw命令创建lv对应的字符设备,然后将字符设备用于数据库等可以直接使用裸设备的软件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)