0.实验前的环境检查和配置。
[student@workstation ~]$ lab createvolumes setup
Setting up servera for lab exercise work:
· Testing if servera is reachable............................. PASS
· Testing if serverb is reachable............................. PASS
· Testing if serverc is reachable............................. PASS
· Testing if serverd is reachable............................. PASS
· Adding glusterfs to runtime firewall on servera............. SUCCESS
· Adding glusterfs to permanent firewall on servera........... SUCCESS
· Adding glusterfs to runtime firewall on serverb............. SUCCESS
· Adding glusterfs to permanent firewall on serverb........... SUCCESS
· Adding glusterfs to runtime firewall on serverc............. SUCCESS
· Adding glusterfs to permanent firewall on serverc........... SUCCESS
· Adding glusterfs to runtime firewall on serverd............. SUCCESS
· Adding glusterfs to permanent firewall on serverd........... SUCCESS
· Adding serverb.lab.example.com as peer...................... SUCCESS
· Adding serverc.lab.example.com as peer...................... SUCCESS
· Adding serverd.lab.example.com as peer...................... SUCCESS
· Ensuring thin LVM pool vg_bricks/thinpool exists on servera. SUCCESS
· Ensuring 2G LV in vg_bricks/thinpool on servera exists...... SUCCESS
· Ensuring xfs on /dev/vg_bricks/brick-a1 on servera.......... SUCCESS
· Verifying/adding /bricks/brick-a1 directory on servera...... SUCCESS
· Verifying/adding mount for /bricks/brick-a1 on servera...... SUCCESS
· Verifying/adding /bricks/brick-a1/brick directory on servera SUCCESS
· Ensuring fixed SELinux context for /bricks/brick-a1/brick on servera SUCCESS
· Restoring SElinux contexts on servera....................... SUCCESS
· Ensuring 2G LV in vg_bricks/thinpool on servera exists...... SUCCESS
· Ensuring xfs on /dev/vg_bricks/brick-a2 on servera.......... SUCCESS
· Verifying/adding /bricks/brick-a2 directory on servera...... SUCCESS
· Verifying/adding mount for /bricks/brick-a2 on servera...... SUCCESS
· Verifying/adding /bricks/brick-a2/brick directory on servera SUCCESS
· Ensuring fixed SELinux context for /bricks/brick-a2/brick on servera SUCCESS
· Restoring SElinux contexts on servera....................... SUCCESS
· Ensuring thin LVM pool vg_bricks/thinpool exists on serverb. SUCCESS
· Ensuring 2G LV in vg_bricks/thinpool on serverb exists...... SUCCESS
· Ensuring xfs on /dev/vg_bricks/brick-b1 on serverb.......... SUCCESS
· Verifying/adding /bricks/brick-b1 directory on serverb...... SUCCESS
· Verifying/adding mount for /bricks/brick-b1 on serverb...... SUCCESS
· Verifying/adding /bricks/brick-b1/brick directory on serverb SUCCESS
· Ensuring fixed SELinux context for /bricks/brick-b1/brick on serverb SUCCESS
· Restoring SElinux contexts on serverb....................... SUCCESS
· Ensuring 2G LV in vg_bricks/thinpool on serverb exists...... SUCCESS
· Ensuring xfs on /dev/vg_bricks/brick-b2 on serverb.......... SUCCESS
· Verifying/adding /bricks/brick-b2 directory on serverb...... SUCCESS
· Verifying/adding mount for /bricks/brick-b2 on serverb...... SUCCESS
· Verifying/adding /bricks/brick-b2/brick directory on serverb SUCCESS
· Ensuring fixed SELinux context for /bricks/brick-b2/brick on serverb SUCCESS
· Restoring SElinux contexts on serverb....................... SUCCESS
· Ensuring thin LVM pool vg_bricks/thinpool exists on serverc. SUCCESS
· Ensuring 2G LV in vg_bricks/thinpool on serverc exists...... SUCCESS
· Ensuring xfs on /dev/vg_bricks/brick-c1 on serverc.......... SUCCESS
· Verifying/adding /bricks/brick-c1 directory on serverc...... SUCCESS
· Verifying/adding mount for /bricks/brick-c1 on serverc...... SUCCESS
· Verifying/adding /bricks/brick-c1/brick directory on serverc SUCCESS
· Ensuring fixed SELinux context for /bricks/brick-c1/brick on serverc SUCCESS
· Restoring SElinux contexts on serverc....................... SUCCESS
· Ensuring 2G LV in vg_bricks/thinpool on serverc exists...... SUCCESS
· Ensuring xfs on /dev/vg_bricks/brick-c2 on serverc.......... SUCCESS
· Verifying/adding /bricks/brick-c2 directory on serverc...... SUCCESS
· Verifying/adding mount for /bricks/brick-c2 on serverc...... SUCCESS
· Verifying/adding /bricks/brick-c2/brick directory on serverc SUCCESS
· Ensuring fixed SELinux context for /bricks/brick-c2/brick on serverc SUCCESS
· Restoring SElinux contexts on serverc....................... SUCCESS
· Ensuring thin LVM pool vg_bricks/thinpool exists on serverd. SUCCESS
· Ensuring 2G LV in vg_bricks/thinpool on serverd exists...... SUCCESS
· Ensuring xfs on /dev/vg_bricks/brick-d1 on serverd.......... SUCCESS
· Verifying/adding /bricks/brick-d1 directory on serverd...... SUCCESS
· Verifying/adding mount for /bricks/brick-d1 on serverd...... SUCCESS
· Verifying/adding /bricks/brick-d1/brick directory on serverd SUCCESS
· Ensuring fixed SELinux context for /bricks/brick-d1/brick on serverd SUCCESS
· Restoring SElinux contexts on serverd....................... SUCCESS
· Ensuring 2G LV in vg_bricks/thinpool on serverd exists...... SUCCESS
· Ensuring xfs on /dev/vg_bricks/brick-d2 on serverd.......... SUCCESS
· Verifying/adding /bricks/brick-d2 directory on serverd...... SUCCESS
· Verifying/adding mount for /bricks/brick-d2 on serverd...... SUCCESS
· Verifying/adding /bricks/brick-d2/brick directory on serverd SUCCESS
· Ensuring fixed SELinux context for /bricks/brick-d2/brick on serverd SUCCESS
· Restoring SElinux contexts on serverd....................... SUCCESS
Overall setup status........................................... PASS
1.配置复制副本存储
gluster peer status查看存储池信息。gluster pool list查看存储池列表。gluster volume create replvol replica 2创建副本复制存储(注意这里指明了副本复制的数量为2)。gluster volume start replvol启动volume。 gluster volume info replvol查看volume信息。mkdir /mnt/replvol创建挂载目录。yum -y install glusterfs-fuse安装软件包。mount -t glusterfs servera:/replvol /mnt/replvol进行挂载。
[root@servera ~]# gluster peer status
Number of Peers: 3
Hostname: serverb.lab.example.com
Uuid: 8cb2319b-25a9-46ad-aa51-75ad6415d5ba
State: Peer in Cluster (Connected)
Hostname: serverc.lab.example.com
Uuid: 15862f57-7474-4fbb-93dd-c4a15363f6b3
State: Peer in Cluster (Connected)
Hostname: serverd.lab.example.com
Uuid: f2e62fca-e468-4a2f-8d62-612312f8260c
State: Peer in Cluster (Connected)
[root@servera ~]# gluster pool list
UUID Hostname State
8cb2319b-25a9-46ad-aa51-75ad6415d5ba serverb.lab.example.com Connected
15862f57-7474-4fbb-93dd-c4a15363f6b3 serverc.lab.example.com Connected
f2e62fca-e468-4a2f-8d62-612312f8260c serverd.lab.example.com Connected
a0c267a4-817b-49ec-9767-da8d59f2c643 localhost Connected
[root@servera ~]# gluster volume create replvol replica 2 \
> servera:/bricks/brick-a1/brick \
> serverb:/bricks/brick-b1/brick
volume create: replvol: success: please start the volume to access data
[root@servera ~]# gluster volume start replvol
volume start: replvol: success
[root@servera ~]# gluster volume info replvol
Volume Name: replvol
Type: Replicate
Volume ID: b0c6c59d-568a-4ef5-8dcc-44b98bc58e99
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: servera:/bricks/brick-a1/brick
Brick2: serverb:/bricks/brick-b1/brick
Options Reconfigured:
performance.readdir-ahead: on
[root@workstation ~]# mkdir /mnt/replvol
[root@workstation ~]# yum -y install glusterfs-fuse
[root@workstation ~]# mount -t glusterfs servera:/replvol /mnt/replvol
2.配置随机分布存储
gluster volume create dispersevol disperse-data 4 redundancy 2配置随机分布存储(注意这里指明4台进行随机分布,2台进行校验码)。mkdir /mnt/dispersevol创建挂载目录。mount -t glusterfs servera:/dispersevol /mnt/dispersevol
进行挂载。
[root@servera ~]# gluster volume create dispersevol disperse-data 4 redundancy 2 \
> serverc:/bricks/brick-c1/brick \
> serverd:/bricks/brick-d1/brick \
> servera:/bricks/brick-a2/brick \
> serverb:/bricks/brick-b2/brick \
> serverc:/bricks/brick-c2/brick \
> serverd:/bricks/brick-d2/brick \
> force
volume create: dispersevol: success: please start the volume to access data
[root@servera ~]# gluster volume start dispersevol
volume start: dispersevol: success
[root@servera ~]# gluster volume info dispersevol
Volume Name: dispersevol
Type: Disperse
Volume ID: c3d2b43d-67c7-43c2-bd6b-46ea89d696de
Status: Started
Number of Bricks: 1 x (4 + 2) = 6
Transport-type: tcp
Bricks:
Brick1: serverc:/bricks/brick-c1/brick
Brick2: serverd:/bricks/brick-d1/brick
Brick3: servera:/bricks/brick-a2/brick
Brick4: serverb:/bricks/brick-b2/brick
Brick5: serverc:/bricks/brick-c2/brick
Brick6: serverd:/bricks/brick-d2/brick
Options Reconfigured:
performance.readdir-ahead: on
[root@workstation ~]# mkdir /mnt/dispersevol
[root@workstation ~]# mount -t glusterfs servera:/dispersevol /mnt/dispersevol
3.数据测试
cp -R /boot /mnt/replvol/复制数据到副本复制挂载目录。cp -R /boot /mnt/dispersevol/复制数据到随机分布挂载目录。ll /bricks/brick-a1/brick/boot查看副本复制的一个数据存储目录,大小与原数据一致。ll /bricks/brick-a2/brick/boot查看随机分布的一个数据存储目录,大小只有约原数据的四分之一。
[root@workstation ~]# cp -R /boot /mnt/replvol/
[root@workstation ~]# cp -R /boot /mnt/dispersevol/
[root@servera ~]# ll /bricks/brick-a1/brick/boot
total 110288
-rw-r--r--. 2 root root 126426 Jan 21 16:39 config-3.10.0-327.el7.x86_64
drwxr-xr-x. 2 root root 37 Jan 21 16:39 grub
drwx------. 6 root root 104 Jan 21 16:39 grub2
-rw-r--r--. 2 root root 36893085 Jan 21 16:39 initramfs-0-rescue-4093bf66a4a4444886ac88feb9f56896.img
-rw-r--r--. 2 root root 36420253 Jan 21 16:39 initramfs-3.10.0-327.el7.x86_64.img
-rw-------. 2 root root 15762153 Jan 21 16:39 initramfs-3.10.0-327.el7.x86_64kdump.img
-rw-r--r--. 2 root root 10190053 Jan 21 16:39 initrd-plymouth.img
-rw-r--r--. 2 root root 252612 Jan 21 16:39 symvers-3.10.0-327.el7.x86_64.gz
-rw-------. 2 root root 2963044 Jan 21 16:39 System.map-3.10.0-327.el7.x86_64
-rwxr-xr-x. 2 root root 5154912 Jan 21 16:39 vmlinuz-0-rescue-4093bf66a4a4444886ac88feb9f56896
-rwxr-xr-x. 2 root root 5154912 Jan 21 16:39 vmlinuz-3.10.0-327.el7.x86_64
[root@servera ~]# ll /bricks/brick-a2/brick/boot
total 27580
-rw-r--r--. 2 root root 31744 Jan 21 16:41 config-3.10.0-327.el7.x86_64
drwxr-xr-x. 2 root root 37 Jan 21 16:42 grub
drwx------. 6 root root 104 Jan 21 16:41 grub2
-rw-r--r--. 2 root root 9223680 Jan 21 16:41 initramfs-0-rescue-4093bf66a4a4444886ac88feb9f56896.img
-rw-r--r--. 2 root root 9105408 Jan 21 16:42 initramfs-3.10.0-327.el7.x86_64.img
-rw-------. 2 root root 3940864 Jan 21 16:42 initramfs-3.10.0-327.el7.x86_64kdump.img
-rw-r--r--. 2 root root 2547712 Jan 21 16:42 initrd-plymouth.img
-rw-r--r--. 2 root root 63488 Jan 21 16:41 symvers-3.10.0-327.el7.x86_64.gz
-rw-------. 2 root root 740864 Jan 21 16:41 System.map-3.10.0-327.el7.x86_64
-rwxr-xr-x. 2 root root 1289216 Jan 21 16:42 vmlinuz-0-rescue-4093bf66a4a4444886ac88feb9f56896
-rwxr-xr-x. 2 root root 1289216 Jan 21 16:41 vmlinuz-3.10.0-327.el7.x86_64
4.任务测评。
lab createvolumes grade进行测评。包括:副本复制存储是否创建,是否启动,数量是否准确,随机分布存储是否创建,是否启动,是否有效。
[student@workstation ~]$ lab createvolumes grade
Grading the student's work
· Testing for presence of replvol............................. PASS
· Testing volume type of replvol.............................. PASS
· Testing if replvol is started............................... PASS
· Testing for number of bricks in replvol..................... PASS
· Testing for presence of dispersevol......................... PASS
· Testing volume type of dispersevol.......................... PASS
· Testing if dispersevol is started........................... PASS
· Testing for layout of dispersevol........................... PASS
Overall lab grade.............................................. PASS