- 论坛徽章:
- 0
|
121☆LVM 共享LVM 卷
LVM 不支持物理共享访问,这会导致数据的丢失。在使用fibre-channel 或shared-SCSI 的环境中,多台计算机以物理方式直接访问一组硬盘,于是可以使用LVM 把这些硬盘分为不同的逻辑卷。如果需要共享数据,则应使用GFS。
122☆LVM 系统启动/关闭
"为使系统启动时可自动激活并使用LVM,可将以下几行添加到启动 rc 脚本中: /sbin/vgscan /sbin/vgchange -a y
这些行将浏览所有可用的卷组并激活它们。要注意的是,它们应在安装卷组上的文件系统操作之前被执行,否则将无法正常安装文件系统。"在系统关机时,要关闭LVM,这可将以下这行添加到关机 rc 脚本中,并确保它在卸装了所有文件系统后执行: /sbin/vgchange -a n
123☆LVM 磁盘分配策略
一个磁盘上的多个分区LVM 允许PV 建立在几乎所有块设备上,如整个硬盘、硬盘分区、Soft RAID: # pvcreate /dev/sda1 # pvcreate /dev/sdf # pvcreate /dev/hda8 # pvcreate /dev/hda6 # pvcreate /dev/md1 所以在一块硬盘上可以有多个PV/分区,但一般建议一块硬盘上只有一个PV: "便于管理,易于处理错误"避免交错方式中性能下降。LVM 不能辨别两个PV 是否在同一硬盘上,故当采用交错方式时,会导致性能更差。但在某些情况下可采用: "把已存在的系统合并到LVM 中。在一个只有少数硬盘的系统中,转换为LVM 时需在在各分区之间转移数据。"把一个大硬盘分给不同的VG 使用。当一个VG 的有不同的PV 在同一硬盘时,创建交错方式的LV 时应注意使用哪一个PV。
Sun disk labels 仅在SUN 的SPARC 系统中有此问题。
124☆lvm 实验安装需求(requirements) :检查系统是否安了lvm 的module
1. lsmod | grep -i lvm
2. modprobe lvm-mod 3.apt-get install lvm* lvm-common evms-lvmutils
或者
rpm -q lvm , rpm -ivh lvm-xxxx.rpm with redhat
准备虚拟硬盘prepare a fake disk 感谢linux lvm 支持loopback (loop device),才让我们有机会建立lvm 下的虚拟硬盘,就跟真硬盘一样用
1. dd if=/dev/zero of=lvm0.iso count=5000
2. dd if=/dev/zero of=lvm1.iso count=5000
3. dd if=/dev/zero of=lvm2.iso count=5000
4. dd if=/dev/zero of=lvm3.iso count=5000
5.losetup /dev/loop0 lvm0.iso 6.losetup /dev/loop1 lvm1.iso 7.losetup /dev/loop2 lvm2.iso
8.losetup /dev/loop3 lvm3.iso
好了,我们这里建立了可用的虚拟硬盘了,要删除这样的硬盘:
losetup -d /dev/loopX
下面我们建立几个物理卷(?) Physical Volume ( 对不起,我不知中文是怎么翻译的)
1. vgscan
2. pvcreate /dev/loop0
3. pvcreate /dev/loop1
4. pvcreate /dev/loop2
5. pvscan <---非常有用
6. lvmdiskscan <-- 查看所有硬盘(包含虚拟)的情况7。pvdisplay /dev/loop0 <--看看
下面我们建立一个volume group( 对不起,我不知中文是怎么翻译的),就是这个概念让我们可以随时加大分区。-s 是叫PE (Physical Extend) 的大小是8K,缺省值是4Mo,PE 是个基础块,它的大小直接影响物理卷的大小,因为linux 核最大限制是65536 个PE,PE 最小值是8K,最大值是16G。理论最大值是16Gx65536PE=1 petabytes.大家可以看第四张图,可以帮助理解。
下面命令的意思是建立一个叫vg01 的volume group ,并把硬盘loop0,loop1 加到入其中: vgcreate -s 8k vg01 /dev/loop0 /dev/loop1
如果vg01 不够用了,我们还可以用下面方法加入其它硬盘:vgextend vg01 /dev/loop2
在volume group vg01 下建立逻辑卷(Logicial volume creation) ,名字叫 lv01, 大小为4M:
1. lvcreate -L4M -n lv01 vg01
2. vgdisplay vg01
再看一眼vg01:
看看新建的逻辑卷lv01:
3. lvdisplay /dev/vg01/lv01
也可以换个名字:4。lvrename /dev/vg01/lv01 /dev/vg01/lv_test
给逻辑卷进行格式化,我用ext3,你也可以用vfat,reiserfs,ext2,不过实际应用应该注意到如果你想在windows 下共享这个vfat 的话,windows 不会认为是一个分区,也不认识它的格式,这是因为我们这里利用了linux lvm 支持loopback 的特性,所以看不出来,实际上如果你真有几张硬盘的话,想用lvm,也必须先把分区定为linux lvm type ,然后再格式化成vfat 。因为windows 不认识lvm,所以也不会认识你的vfat 了。我已经做过实验了!大家可以不再化时间了。1。mkfs -t ext3 -j /dev/vg01/lv_test 2。mount /dev/vg01/lv_test /mnt
可以用了!
下面简单给出删除/扩充/减小volume groupe 的命令,还有所有有关lvm 清单,请大家小心,下面的命令适应与ext2/ext3, 其它如reiserfs,jfs,xfs,命令不一样。有感兴趣的朋友可以给我发信,我再详细给出命令。
delete volume groupe 1。vgchange -a n /dev/vg01 2。vgremove /dev/vg01
extend 1。lvextend -L+1G /dev/vg01/lv01 2。umount /mountingpoint 3。resize2fs /dev/vg01/lv01 4。mount /dev/vg01/lv01 /mountingpoint
reduce: 1。umount /mountingpoint 2。resize2fs /dev/vg01/lv01 3。lvreduce -L-1G /dev/vg01/lv01 4。mount /dev/vg01/lv01 /mountingpoint |
|