lvm主要还用于分区扩展,但是使用lvm实现
磁盘镜像
的应用也很广泛。比如,有两块硬盘/dev/sdb和/dev/sdc一样大小,想对这两个硬盘做磁盘镜像,保证两个硬盘的数据一致,即可利用lvm的磁盘镜像功能实现。
Lvm镜像需要用到-m1参数,主要过程参见如下详细步骤与说明。该实验 *** 作在
ubuntu11.10
版本下进行。
创建lvm镜像的方法与步骤
1、创建
磁盘分区
首先将
sdb
和
sdc分区,并创建四个pv(sdb5、sdb6、sdb7、sdc,其中sdb5用作数据磁盘,sdc用作对sdb5的镜像,sdb6用作日志,sdb7用作备用,注意:sdb5、sdb7容量最好一样大,sdc容量不能小于sdb5),然后创建vg0并将sd5、sd6、sdc加入其中。依次
执行命令
为:
fdisk
/dev/sdb
–创建三个
扩展分区
/dev/sdb5、/dev/sdb6、/dev/sdb7
partprobe
-重新读取
分区表
pvcreate
/dev/sdb5
pvcreate
/dev/sdb6
pvcreate
/dev/sdb7
pvdisplay
fdisk
/dev/sdc
-创建分区/dev/sdc
partprobe
pvcreate
/dev/sdc
pvdisplay
vgcreate
vg0
/dev/sdb5
/dev/sdb6
/dev/sdc
–创建vg0
2、创建lvm镜像/dev/vg0/mirror
使用-ml参数标志为创建镜像;使用-L参数设定
镜像卷
的大小为1000M;使用-n参数为镜像指定名称为mirror。这个镜像包括三部分:sdb5和sdc为数据卷和副本卷分区,#sdb6为日志卷分区。
lvcreate
-L
1000M
-m1
-n
mirror
vg0
/dev/sdb5
/dev/sdc
/dev/sdb6
查看/dev/vg0/mirror的状态:
lvdisplay
/dev/vg0/mirror
查看当前lvm中设备状态:
lvs
-a
-o
+devices
3、对新建的镜像lv进行格式化和
挂载
mkfs.
ext3
/dev/vg0/mirror
mkdir
/mirror
mount
/dev/vg0/mirror
/mirror/
4、对镜像lvm进行破坏
破坏一块pv,看是否能正常工作
dd
if=/dev/zero
of=/dev/sdb5
count=10
破坏之后可以看到镜像lv中的/dev/sdb5变成了未知:
lvs
-a
-o
+devices
lvscan
重新对镜像lv进行挂载,发现仍然可正常使用。
umount
/mirror/
mount
/dev/vg0/mirror
/mirror/
cd
/mirror/
把坏掉的设备从vg0中移除:
vgreduce
--removemissing
--force
vg0
移除之后发现vg0信息中Mirrored
volumes选项没有了
vgdisplay
/dev/vg0
5、镜像
数据恢复
在vg0中新加一个pv,对数据进行恢复:
vgextend
vg0
/dev/sdb7
lvconvert
-m1
/dev/vg0/mirror
/dev/sdb7
/dev/sdc
/dev/sdb6
再次查看设备状态,我们会发现sdb7已经取代了sdb5的位置工作
lvs
-a
-o
+devices
查看镜像卷状态,发现镜像卷Mirrored
volumes
2
这个选项又恢复了
lvdisplay
/dev/vg0/mirror
格式化就是给分区加上一个文件系统.一般我们给主机接上新的硬盘,开机后: 用fdisk -l 就可以看到
类似: /dev/sdb /dev/sdc 之类.
我们有两种方法对其进行划分:
方法1 fdisk /dev/sdbn p 1 w 这时fdisk -l 就可以看到/dev/sdb1 /dev/sdb2之类
然后mkfs.ext3 /dev/sdb1 就可以对/dev/sdb1 这个分区上一个ext3的文件系统了.这就是格式化.
方法2 pvcreate /dev/sdb 把/dev/sdb这块般做成pv
pvcreate /dev/sdc 把/dev/sdc这块般做成pv
vgcreate vg01 /dev/sdb /dev/sdc 创建vg01 并把/dev/sdb /dev/sdc 这两个pv 加进去
lvcreate -L 100 -n lv01 vg01 从vg01 中划出100M 名为lv01的分区来. 全路径为/dev/vg01/lv01
以上这些步骤称做lvm 逻辑卷管理.
mkfs.ext3 /dev/vg01/lv01 逻辑卷lv01 上一个ext3文件系统.这一步叫做格式化
你这样看来方法2感觉很麻烦,但有一个好处就是,当你硬盘很多的时候比较好管理,方法一分区最大也就是一个硬盘的
大小.方法2是将所有硬盘,组成一个vg 卷组,然后一块一块地切出来用.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)