当前位置:Linux教程 - Linux文化 - unix和linux,关于LVM

unix和linux,关于LVM


>>> 此贴的回复 >> linux的:

3.1 建立PV 为把一个磁盘或分区作为PV,首先应使用 pvcreate 对其初始化,如对IDE硬盘/dev/hdb, "使用整个磁盘, # pvcreate /dev/hdb 这将在磁盘上建立VG的描述符。 "使用磁盘分区,如/dev/hdb1。 使用fdisk 的t 命令把/dev/hda1的分区类型设为0x8e,然后运行: # pvcreate /dev/hdb1 这将在分区/dev/hda1上建立VG的描述符。 PV初始化命令pvcreate的一般用法为: pvcreate PV1 [ PV2 ... ] 它的参数可以是整个磁盘、分区,也可以是一loop设备。 3.2 建立VG 在使用pvcreate 建立了PV后,可以用vgcreate 建立卷组,如有PV1、PV2分别是/dev/hda1与/dev/hdb1,使用 # vgcreate testvg /dev/hda1 /dev/hdb1 将建立一个名为testvg的卷组,它由两个PV:/dev/hda1与/dev/hdb1组成。vgcreate的一般用法为: # vgcreate [options] VG_name PV1 [PV2 ...] 其中的可选项包括设置VG最大支持的LV数、PE大小(缺省为4MB)等。 注意:当使用devfs系统时,应使用设备的全名而不能是Symbol Link,如对上例应为: # vgcreate testvg /dev/ide/host0/bus0/target0/lun0/part1\ /dev/ide/host0/bus0/target1/lun0/part1 3.3 激活VG 在被激活之前,VG与LV是无法访问的,这时可用命令: # vgchange -a y testvg 激活所要使用的卷组。当不再使用VG时,可用 # vgchange -a n testvg 使之不再可用。 vgchange可用来设置VG的一些参数,如是否可用( -a [y|n]选项)、支持最大逻辑卷数等。 3.4 移除VG 在移除一卷组前应确认卷组中不再有逻辑卷,首先休眠卷组: # vgchange -a n testvg 然后可用vgremove移除该卷组: # vgremove testvg 3.5 为VG增加新PV 当卷组空间不足时,可以加入新的物理卷来扩大容量,这时可用命令vgextend,如 # vgextend testvg /dev/hdc1 其中/dev/hdc1是新的PV,当然在这之前,它应使用pvcreate初始化。 3.6 从VG移除PV 在移除PV之前,应确认该PV没用被LV使用,这可用命令pvdisplay查看,如: # pvdisplay /dev/hda1 --- Physical volume --- PV Name /dev/hda1 VG Name testvg PV Size 1.95 GB / NOT usable 4 MB [LVM: 122 KB] PV# 1 PV Status available Allocatable yes (but full) Cur LV 1 PE Size (KByte) 4096 Total PE 499 Free PE 0 Allocated PE 499 PV UUID Sd44tK-9IRw-SrMC-MOkn-76iP-iftz-OVSen7 如这个PV仍在被使用,则应把数据传移到其它PV上。在确认它未被使用后,可用命令vgreduce把它从VG中删除,如: # vgreduce testvg /dev/hda1 3.7 创建LV 在创建逻辑卷前,应决定LV使用哪些PV,这可用命令vgdisplay与pvdisplay查看当前卷组与PV的使用情况。在已有的卷组上创建逻辑卷使用命令lvcreate,如: # lvcreate -L1500 -ntestlv testvg 将在卷组testvg上建立一个1500MB的线性LV,其命名为testlv,对应的块设备为/dev/testvg/testlv。 # lvcreate -i2 -I4 -l100 -nanothertestlv testvg 将在卷组testvg上建立名为anothertestlv的LV,其大小为100LE,采用交错方式存放,交错值为2,块大小为4KB。 如果需要LV使用整个VG,可首先用vgdisplay 查找 Total PE 值,然后在运行lvcreate时指定,如: # vgdisplay testvg | grep "Total PE" Total PE 10230 # lvcreate -l 10230 testvg -n mylv 将使用卷组testvg的全部空间创建逻辑卷mylv。 在创建逻辑卷后,就可在其上创建文件系统并使用它。 命令lvcreate的常用方法: lvcreate [options] -n 逻辑卷名 卷组名 [PV1 ... ] 其中的常用可选项有: "-i Stripes :采用交错(striped)方式创建LV,其中Stripes指卷组中PV的数量。 "-I Stripe_size :采用交错方式时采用的块大小(单位为KB),Stripe_size必须为2的指数:2N ,N=2,3...9。 "-l LEs :指定LV的逻辑块数。 "-L size :指定LV的大小,其后可以用K、M、G表示KB、MB、GB。 "-s :创建一已存在LV的snapshot卷。 "-n name :为LV指定名称。 3.8 删除LV 为删除一个逻辑卷,必须首先从系统卸载其上的文件系统,然后可用lvremove删除,如: # umount /dev/testvg/testlv # lvremove /dev/testvg/testlv lvremove -- do you really want to remove "/dev/testvg/testlv"? [y/n]: y lvremove -- doing automatic backup of volume group "testvg" lvremove -- logical volume "/dev/testvg/testlv" successfully removed 3.9 扩展LV 为逻辑卷增加容量可用使用lvextend,即可以指定要增加的尺寸也可以指定扩容后的尺寸,如 # lvextend -L12G /dev/testvg/testlv lvextend -- extending logical volume "/dev/testvg/testlv" to 12 GB lvextend -- doing automatic backup of volume group "testvg" lvextend -- logical volume "/dev/testvg/testlv" successfully extended 将扩大逻辑卷testlv的容量为12GB。 # lvextend -L+1G /dev/testvg/testlv lvextend -- extending logical volume "/dev/testvg/testlv" to 13 GB lvextend -- doing automatic backup of volume group "testvg" lvextend -- logical volume "/dev/testvg/testlv" successfully extended 将为LV testlv再增大容量1GB至13GB。 为LV扩容的一个前提是:LV所在的VG有足够的空闲存储空间可用。 在为LV扩容之后,应同时为LV之上的文件系统扩容,使二者相匹配。对不同的文件系统有相对应的扩容方法。 3.9.1 ext2/ext3 除非内核已有ext2online 补丁,否则在改变ext2/ext3文件系统的大小时应卸载它: # umount /dev/testvg/testlv # resize2fs /dev/testvg/testlv # mount /dev/testvg/testlv /home

HP的:

创建卷组(VG)和逻辑卷(LV) 注:(可以使用SAM或命令方式) * 选择VG所使用的磁盘(得到每个节点上可以看见的磁盘,识别出共享磁盘一般表现为磁盘阵列设备文件),在每个节点上面均执行下面的命令,列出每个节点可见的磁盘设备: # lssf /dev/dsk/*d0 * 在节点1上面创建物理卷(PV) # pvcreate /dev/rdsk/c1t2d0 # pvcreate /dev/rdsk/c0t2d0 * 在节点1上面创建卷组(VG) 创建卷组目录 # mkdir /dev/卷组名 在卷组目录内创建卷组控制文件 # mknod /dev/卷组名/group c 64 0xhh0000 (其中,主设备号总是64,次设备号以16进制数0xhh0000表示,hh必须在系统内唯一,使用系统中下一个可用的数值。使用下面的命令可以得到系统中已经存在的卷组: # ls -l /dev/*/group 创建卷组并将物理卷加入其中 # vgcreate /dev/卷组名 /dev/dsk/c1t2d0 # vgextend /dev/卷组名 /dev/dsk/c0t2d0 * 重复上述步骤创建其他卷组 * 在节点1上面创建逻辑卷(LV) # lvcreate -L 12 /dev/卷组名 在新建的逻辑卷上面创建文件系统 # newfs -F vxfs /dev/卷组名/rlvol1 创建mount目录点 # mkdir /mnt1 Mount文件系统以检查正确性 # mount /dev/卷组名/lvol1 /mnt1 (# vi /etc/fstab)

好像就这里不一样: 需要创建vg目录 创建卷组目录 # mkdir /dev/卷组名 在卷组目录内创建卷组控制文件 # mknod /dev/卷组名/group c 64 0xhh0000