1.创建LVM
# fdisk /dev/sdb //创建5678分区
# partx -a /dev/sdb //检查磁盘生效,rhel5
# partprobe //检查磁盘生效,rhel6 rhel7
# pvcreate /dev/sdb{5,6,7} //添加到物理卷
# pvscan 或 pvdisplay //查看物理卷信息
# vgcreate vg0 /dev/sdb{5,6,7}
# vgscan 或 vgdisplay //查看卷组信息
# lvcreate -L 150M -n lv0 vg0 //创建逻辑卷lv0
-L 指定逻辑大小
-n 指定逻辑名称
# lvscan 或 lvdisplay //查看逻辑卷信息
# mkfs.ext4 /dev/vg0/lv0
# mkdir /lv0
# mount /dev/vg0/lv0 /lv0/
# ls /lv0/
# df -h
/dev/mapper/vg0-lv0 148M 5.6M 135M 4% /lv0
真实设备名
2.扩容
# df -h //查看原设备大小
/dev/mapper/vg0-lv0 148M 5.6M 135M 4% /lv0
# fdisk -l
/dev/sdb8 43 56 112423+ 83 Linux
# pvcreate /dev/sdb8 //sdb8分区加入物理卷
# vgextend vg0 /dev/sdb8 //sdb8加入卷组
# lvextend -L +200M /dev/vg0/lv0 //给逻辑卷+200M,如200前不加+号,就是扩容到200M
# df -h //查看设备没有改变
/dev/mapper/vg0-lv0 148M 5.6M 135M 4% /lv0
# resize2fs /dev/vg0/lv0 //激活文件系统
在rhel7版本中,上面的命令不好用了,xfs_growfs /dev/cl/root
# df -h //设备大小已改变
/dev/mapper/vg0-lv0 341M 6.1M 318M 2% /lv0
3.缩容
# umount /dev/vg0/lv0
# e2fsck -f /dev/vg0/lv0 //强制检查文件系统
# resize2fs /dev/vg0/lv0 200M //文件系统缩容到200M
# lvreduce -L -200M /dev/vg0/lv0 //逻辑卷减到200M,如果200M前加“-”号,代表减少200M
# vgreduce vg0 /dev/sdb8 //sdb8物理卷退出卷组
# pvremove /dev/sdb8 //sdb8分区退出物理卷
# mount /dev/vg0/lv0 /lv0
# df -h
更换磁盘和更换数据
# vgextend vg0 /dev/sdb8 //将sdb8加入vg0卷组
# pvmove /dev/sdb7 /dev/sdb8 //从sdb7上移动数据到sdb8
# vgreduce vg0 /dev/sdb7 //将sdb7移出vg0卷组
LVM数据迁移
第一台机器
# umount /lv0
# vgchange -a n 关闭卷组
# vgexport vg0 卷组导出
第二台机器
# vgimport vg0 卷组导入
# vgchange -a y 打开卷组
# mount /dev/vg0/lv0 /lv0
# lvcreate -s /dev/vg0/lv0 -n lv0.bak -L 10M 快照
# rm -rf /lv0/*
数据恢复
# mount /dev/vg0/lv0.bak /opt
# cd /opt
# cp a.txt b.txt c.txt /lv0
# /etc/init.d/atd status
# /etc/init.d/crond status
# yum -y install at* crontab*
加大SWAP分区
【第1种】添加新硬盘
1.fdisk -l 查看新加入硬盘
2.fdisk /dev/sdb
分一个区后,按t——按l——输入82——回车——按p——按w
3.partprobe 不重启系统添加新的磁盘分区
4.mkswap /dev/sdb1 专用格式化swap分区命令
5.free -m 查看swap分区大小(以M为单位)
7.swapon /dev/sdb1 临时挂载swap分区
8.free -m 在查看swap分区变大了
8.vi /etc/fstab 永久挂载
/dev/sdb1 swap swap defaults 0 0
9.mount -a 重新加载/etc/fstab文件
卸载新加的swap分区
1.swapoff /dev/sdb1 卸载新swap分区
2.vi /etc/fstab 删除添加的内容
3.mount -a 重新加载/etc/fstab文件
【第2种】如果没有剩余磁盘,从本身硬盘创建swap文件
1.free -m 或free 查看swap分区大小和内存大小(加上m是以M为单位,不加则以字节为单位)
2.cd /mnt 切换到/mnt下创建一个块设备文件
3.dd if=/dev/zero of=swap bs=10M count=100 创建一个大小为100M的swap文件
格式:dd if=/dev/zero of=指定文件名 bs=指定大小(以M为单位) count=指定大小
注意:bs值乘以count值=实际值
4.mkswap swap mkswap是专用格式化swap文件的命令
5.swapon swap 临时挂载swap文件
6.free -m 查看swap分区大小变大了,但重启机器就还原了
7.vi /etc/fstab 永久挂载swap
/mnt/swap swap swap defaults 0 0
8.mount -a 重新加载/etc/fstab文件
卸载swap文件
1.swapoff /mnt/swap 卸载swap文件
2.vi /etc/fstab 删除添加的内容
3.mount -a 重新加载/etc/fstab文件
4.rm -rf /mnt/swap