您的位置:首页 > 其它

综合操作实例(跨系统的卷组迁移)

2013-09-27 16:38 218 查看
物理卷

创建物理卷
# pvcreate /dev/sdd /dev/sde /dev/sdf

察看已经存在的物理卷信息
# pvs --每行一条,便于脚本调用
# pvdisplay --显示pv的详细信息

阻止在物理卷上分配空间 (比如,某个物理磁盘发生了硬件故障,需要移除这个硬盘的时候)
# pvchange -x n /dev/sdk1

重新允许在物理卷上分配空间
# pvchange -x y /dev/sdk1

移除物理卷(前提,没有卷组使用该pv)
# pvremove /dev/ram15
Labels on physical volume "/dev/ram15" successfully wiped

替换/移除物理卷
# pvmove /dev/sdc1 SourcePhysicalVolume --从SourcePhysicalVolume中移除sdc1

只移除 sdc1 中 MyLV 逻辑卷上的的数据
# pvmove -n MyLV /dev/sdc1

卷组

创建卷组
# vgcreate vg1 /dev/sdd1 /dev/sde1

给卷组中加入新的物理卷
# vgextend vg1 /dev/sdf1

察看已经存在的卷组信息
# vgs --每行一条,便于脚本调用
# vgdisplay--现实vg卷组的详细信息
# vgscan--重建 /etc/lvm/cache/.cache file cache文件,维护目前的 LVM 设备列表

系统启动时,会自动运行vgscan命令。如果集群中在一个节点进行了 vgextend 等命令,在其他节点手动运行 vgscan 将是很好的选择

移动物理卷上的数据(适用于替换硬盘时)
# vgreduce my_volume_group /dev/hda1

该命令会将 /dev/hda1 上的数据挪到同卷组内的其他物理卷上

限制卷组中最大的逻辑卷数量
# vgchange -l 128 /dev/vg00

将卷组改成闲置状态(维护时使用)
# vgchange -a n my_volume_group

重新激活卷组
# vgchange -a y my_volume_group

移除卷组(要保证移除的卷组上的逻辑卷都已经移除了)
# vgremove officevg
Volume group "officevg" successfully removed

卷组拆分(将/dev/ram15 从 bigvg 中拆出来组成名为 smallvg 的卷组)
# vgsplit bigvg smallvg /dev/ram15
Volume group "smallvg" successfully split from "bigvg"

卷组合并(前提条件:两个卷组的 extent sizes 必须相同)
# vgmerge -v databases my_vg

将 my_vg 合并到 database卷组, -v表示显示详细信息,其中 my_vg 必须处于 inactive 状态, database可以处于active或者inactive状态

卷组改名
# vgrename /dev/vg02 /dev/my_volume_group

逻辑卷

创建逻辑卷
# lvcreate -L1500 -n testlv testvg --1500M 默认单位M
# lvcreate -l 60%VG -n mylv testvg --使用卷组的60%
# lvcreate -l 100%FREE -n yourlv testvg --使用testvg的全部剩余空间

创建条带化的逻辑卷
# lvcreate -L 50G -i2 -I64 -n gfslv vg0 -i表示设备的数量, -I表示条带的大小(KB)

制定条带化时的详细信息
# lvcreate -l 100 -i2 -nstripelv testvg /dev/sda1:0-49 /dev/sdb1:50-99
Using default stripesize 64.00 KB
Logical volume "stripelv" created

表示大小为 100个PE, 其中,使用 sda1 的0-49和 sda2 的 50-99

创建镜像化的逻辑卷
# lvcreate -L 50G -m1 -n mirrorlv vg0 -- -m表示镜像(复制)的数量

镜像逻辑卷按照extend来拷贝,默认是512KB,可以使用 -R num M 的方式进行调整

注意:超过1.5T的就不能使用 512K了

拇指定律: 使用2的指数, 3-4T:4M, 5-8T: 8M

使用快照
# lvcreate --size 100M --snapshot --name snap /dev/vg00/lvol1

为 /dev/vg00/lvol1 创建名为 snap 的快照,可以用于备份

使用merge操作
# lvconvert --merge vg00/lvol1_snap

将 lvol1_snap merge回源逻辑卷,回复备份时可以考虑此操作

收缩逻辑卷
# lvreduce -l -3 vg00/lvol1

将逻辑卷减少3个PE

修改逻辑卷的权限
# lvchange -pr vg00/lvol1 --将逻辑卷改为只读模式
# lvchange -prw vg00/lvol1 --将逻辑卷修改为读写模式

逻辑卷改名
# lvrename /dev/vg02/lvold /dev/vg02/lvnew

删除逻辑卷
# lvremove /dev/vg02/lvol1

增大逻辑卷

增大到 12G
# lvextend -L12G /dev/myvg/homevol
lvextend -- extending logical volume "/dev/myvg/homevol" to 12 GB
lvextend -- doing automatic backup of volume group "myvg"
lvextend -- logical volume "/dev/myvg/homevol" successfully extended

增大1G
# lvextend -L+1G /dev/myvg/homevol
lvextend -- extending logical volume "/dev/myvg/homevol" to 13 GB
lvextend -- doing automatic backup of volume group "myvg"
lvextend -- logical volume "/dev/myvg/homevol" successfully extended

将卷组中所有的空闲附加到已经存在的逻辑卷
lvextend -l +100%FREE /dev/myvg/testlv
Extending logical volume testlv to 68.59 GB
Logical volume testlv successfully resized

收缩逻辑卷
# lvreduce -l -3 vg00/lvol1

收缩3个PE,在收缩卷之前要保证先将里边的文件系统进行收缩,不然会丢失数据

如果数据量较大,需要使用-n参数后台进行,下面的命令表示将 sdc1 上的数据移动到 sdf1
# pvmove -b /dev/sdc1 /dev/sdf1

综合操作实例(跨系统的卷组迁移)


1. 卸载卷组上的所有逻辑卷
umount

2. 将卷组改成闲置状态
vgchange -a n olumeGroupName

3. 导出VolumeGroupName的信息
vgexport VolumeGroupName

4. 做一次重建cache扫描
vgscan

5. 察看所有相关物理卷的状态,一定要处于export状态
pvscan
PV /dev/sda1
is in exported VG myvg [17.15 GB / 7.15 GB free]
PV /dev/sdc1
is in exported VG myvg [17.15 GB / 15.15 GB free]
PV /dev/sdd1
is in exported VG myvg [17.15 GB / 15.15 GB free]
...

6. 拔下硬盘装到新的机器

7. 导入VolumeGroupName的信息
vgimport VolumeGroupName

8. 激活卷组
vgchange -a y VolumeGroupName

9. 重新挂在相关逻辑卷
mount

That’s all http://klwang.info/about-lvm-skills/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  空间 硬件故障 volume