Ubuntu 12.04配置CLVM
简单地作个笔记。
测试环境包含三台服务器。其中一台服务器配置iSCSI TGT山寨一个IP SAN服务,将一块本地硬盘通过iSCSI协议暴露给所有的服务器。三台服务器均通过openi-scsi发现山寨IP SAN所提供的iSCSI存储。具体的配置方法可以参见《在Ubuntu 12.04上配置iSCSI Target服务》一文。
安装CLVM软件:
sudo apt-get install clvm
修改配置文件/etc/lvm/lvm.conf,修改LVM的加锁机制:
locking_type = 3
修改配置文件/etc/cluster/cluster.conf,内容如下(需要根据你的配置替换掉配置文件中的主机名)。
在所有的服务器上启动cman和clvm服务:
sudo /etc/init.d/cman restart sudo /etc/init.d/clvm restart
可以通过cman_tool命令查看集群中的节点:
$ sudo cman_tool nodes Node Sts Inc Joined Name 1 M 12 2013-06-15 16:53:35 node01 2 M 12 2013-06-15 16:53:35 node02 3 M 4 2013-06-15 16:53:35 node03
在iSCSI TGT服务器上,通过iSCSI协议将一个块设备暴露给所有的服务器。在所有的服务器上,通过openiscsi发现这个块设备,假设该设备所对应的设备名为/dev/sdc1。在我的测试系统上,通过fdisk得到的信息如下:
$ sudo iscsiadm -m discovery -t sendtargets -p node01 192.168.100.20:3260,1 iqn.qyjohn.net:clvm $ sudo iscsiadm -m node --login Logging in to [iface: default, target: iqn.qyjohn.net:clvm, portal: 192.168.100.20,3260] Login to [iface: default, target: iqn.qyjohn.net:clvm, portal: 192.168.100.20,3260]: successful $ sudo fdisk -l /dev/sdc Disk /dev/sdc: 322.1 GB, 322122547200 bytes 129 heads, 6 sectors/track, 812849 cylinders, total 629145600 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x3ca4eaca Device Boot Start End Blocks Id System /dev/sdc1 2048 629145599 314571776 83 Linux
在任何一个节点上,通过pvcreate命令创建一个物理卷:
$ sudo pvcreate /dev/sdc1 Physical volume "/dev/sdc1" successfully created
在任何一个节点上,通过pvdisplay命令查看已有的物理卷:
$ sudo pvdisplay "/dev/sdc1" is a new physical volume of "300.00 GiB" --- NEW Physical volume --- PV Name /dev/sdc1 VG Name PV Size 300.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID j8VS2U-o8Je-oUjq-nwCz-PDcy-j0nM-41floJ
在任何一个节点上,通过vgcreate命令创建一个volume group:
$ sudo vgcreate -s 32M vg_clvm /dev/sdc1 Clustered volume group "vg_clvm" successfully created
在任何一个节点上,通过vgdisplay命令查看已有的volume group:
$ sudo vgdisplay --- Volume group --- VG Name vg_clvm System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable Clustered yes Shared no MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 299.97 GiB PE Size 32.00 MiB Total PE 9599 Alloc PE / Size 0 / 0 Free PE / Size 9599 / 299.97 GiB VG UUID Na3LN0-DAFu-AC8x-fukv-0hfZ-3vS9-QbJHo2
在任何一个节点上,通过lvcreate命令创建一个逻辑卷:
$ sudo lvcreate -L 50G -n lv_001 vg_clvm Logical volume "lv_001" created
在任何一个节点上,通过lvdisplay命令查看已有的逻辑卷:
$ sudo lvdisplay --- Logical volume --- LV Name /dev/vg_clvm/lv_001 VG Name vg_clvm LV UUID ThHd00-Hj9V-PYDt-9CEv-055l-TRfj-pH6GLt LV Write Access read/write LV Status available # open 0 LV Size 50.00 GiB Current LE 1600 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 252:0
可以看出,在集群中任何一个节点上所进行的LVM操作,都会反映到集群中的其他节点上。
三台机器用一个 target 会互相覆盖吧?
一个节点down 整个集群会挂起 你还得配置qdisk fence