RH236创建volume

简介: RH236创建volume

RH236创建volume和章节实验

前两个章节学习了添加可信任池和创建Brick后,就来到了本章创建volume,要配置好前面的的步骤才可以配置volume。
RHCA专栏地址:https://blog.csdn.net/qq_41765918/category_11532281.html



创建volume语法:

gluster volume create NAME VOLUEM-TYPE OPTIONS

若不清楚可以使用gluster volume help查询

创建volume,只需要信任池内的任一节点(server)创建就好

gluster volume create vol1 \ 
node1:/brick/brick1/brick \ 
node2:/brick/brick1/brick 
# 创建一个volume,叫vol1,由node1和node2上的各一个brick组成
gluster volume start vol1 
# 启动volume
gluster volume stop vol1
# 停止volume
gluster volume info 
gluster volume status
# 查看volume的信息
showmount -e node1 
showmount -e node2
# 注:查看nfs共享
发现共享的是volume名称,并不是具体的brick,volume会在信任池中的所有节点中查看到
cat /etc/exports
# 发现并没有共享条目

也就是说,client并不是通过NFS提供服务的,而是通过glusterd服务提供NFS,client去挂载volume的时候,访问任何一个节点的glusterd都可以挂载。

课本练习

[student@workstation ~]$ lab setup-volume setup 
Testing if server and serverb are ready for lab exercise work:

 • Testing if servera is reachable.............................  PASS
 • Testing if serverb is reachable.............................  PASS
 • Testing runtime firewall on servera for glusterfs...........  PASS
 • Testing permanent firewall on servera for glusterfs.........  PASS
 • Testing runtime firewall on serverb for glusterfs...........  PASS
 • Testing permanent firewall on serverb for glusterfs.........  PASS
 • Testing if glusterd is active on servera....................  PASS
 • Testing if glusterd is active on serverb....................  PASS
 • Testing if glusterd is active on servera....................  PASS
 • Testing if glusterd is active on serverb....................  PASS
 • Testing if both servera and serverb are in pool.............  PASS
Infrastructure setup status:...................................  PASS

Testing if all required bricks are present:

 • Testing for thinly provisioned pool on servera..............  PASS
 • Testing for thinly provisioned pool size on servera.........  PASS
 • Testing for mounted file system and type on servera.........  PASS
 • Testing for brick SELinux context on servera................  PASS
 • Testing for thinly provisioned pool on serverb..............  PASS
 • Testing for thinly provisioned pool size on serverb.........  PASS
 • Testing for mounted file system and type on serverb.........  PASS
 • Testing for brick SELinux context on serverb................  PASS
Brick setup status.............................................  PASS

1. 创建volume并进行启动与查看。

[root@servera ~]# gluster volume create firstvol servera:/bricks/brick-a1/brick serverb:/bricks/brick-b1/brick
volume create: firstvol: success: please start the volume to access data

[root@servera ~]# gluster volume info firstvol 
Volume Name: firstvol
Type: Distribute
Volume ID: ba0aa98b-55d5-4bc1-a28c-c2096756e98a
Status: Created
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: servera:/bricks/brick-a1/brick
Brick2: serverb:/bricks/brick-b1/brick
Options Reconfigured:
performance.readdir-ahead: on

[root@servera ~]# gluster volume start firstvol 
volume start: firstvol: success

[root@servera ~]# gluster volume info firstvol 
Volume Name: firstvol
Type: Distribute
Volume ID: ba0aa98b-55d5-4bc1-a28c-c2096756e98a
Status: Started
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: servera:/bricks/brick-a1/brick
Brick2: serverb:/bricks/brick-b1/brick
Options Reconfigured:
performance.readdir-ahead: on

2. 挂载并进行测试。

[root@workstation ~]# yum -y install glusterfs-fuse
[root@workstation ~]# mount -t glusterfs servera:firstvol /mnt
[root@workstation ~]# df -Th
Filesystem       Type            Size  Used Avail Use% Mounted on
/dev/vda1        xfs              10G  3.1G  7.0G  31% /
devtmpfs         devtmpfs        902M     0  902M   0% /dev
tmpfs            tmpfs           920M   84K  920M   1% /dev/shm
tmpfs            tmpfs           920M   41M  880M   5% /run
tmpfs            tmpfs           920M     0  920M   0% /sys/fs/cgroup
tmpfs            tmpfs           184M   16K  184M   1% /run/user/42
tmpfs            tmpfs           184M     0  184M   0% /run/user/0
servera:firstvol fuse.glusterfs  4.0G   66M  4.0G   2% /mnt

[root@workstation ~]# touch /mnt/file{0..0100}
[root@workstation ~]# umount /mnt/

3. 检查servera和serverb上bricks的内容。

[root@servera ~]# ls /bricks/brick-a1/brick/
file0001  file0009  file0017  file0028  file0038  file0046  file0055  file0067  file0074  file0087
file0003  file0010  file0019  file0029  file0039  file0047  file0057  file0068  file0077  file0088
file0004  file0012  file0023  file0030  file0040  file0048  file0059  file0069  file0081  file0091
file0005  file0015  file0024  file0031  file0041  file0051  file0060  file0071  file0082  file0092
file0008  file0016  file0025  file0032  file0042  file0054  file0064  file0073  file0086  file0097

[root@serverb ~]#  ls /bricks/brick-b1/brick/
file0000  file0014  file0027  file0043  file0053  file0065  file0078  file0089  file0098
file0002  file0018  file0033  file0044  file0056  file0066  file0079  file0090  file0099
file0006  file0020  file0034  file0045  file0058  file0070  file0080  file0093  file0100
file0007  file0021  file0035  file0049  file0061  file0072  file0083  file0094
file0011  file0022  file0036  file0050  file0062  file0075  file0084  file0095
file0013  file0026  file0037  file0052  file0063  file0076  file0085  file0096

4. 评分脚本

[root@workstation ~]# lab setup-volume grade


章节实验

[root@workstation ~]# lab basicconfig setup 
Testing if serverc and serverd are ready for lab exercise work:
 • Testing if serverc is reachable.............................  PASS
 • Testing if glusterd is active on serverc....................  PASS
 • Testing if glusterd is active on serverc....................  PASS
 • Testing if serverd is reachable.............................  PASS
 • Testing if glusterd is active on serverd....................  PASS
 • Testing if glusterd is active on serverd....................  PASS

image-20220228230402062

1. 将serverc和serverd组合到一个可信的存储池中。

[root@serverc ~]# firewall-cmd --permanent --add-service=glusterfs 
success
[root@serverc ~]# firewall-cmd --reload 
success

[root@serverd ~]# firewall-cmd --permanent --add-service=glusterfs
success
[root@serverd ~]# firewall-cmd --reload
success

[root@serverc ~]# gluster peer probe serverd.lab.example.com
peer probe: success. 
[root@serverc ~]# gluster pool list
UUID                    Hostname                   State
49e5e2e3-7372-46c9-82f6-d8a990bc44b9    serverd.lab.example.com    Connected 
f69b7199-c19f-4717-9935-c9d3a6f69d3c    localhost     

2. 创建卷所需的两个bricks。

[root@serverc ~]# lvcreate -L 10G -T vg_bricks/labpool
  Logical volume "labpool" created.
[root@serverc ~]# lvcreate -V 2G -T vg_bricks/labpool -n brick-c1
  Logical volume "brick-c1" created.
[root@serverc ~]# mkfs.xfs -i size=512 /dev/vg_bricks/brick-c1 
meta-data=/dev/vg_bricks/brick-c1 isize=512    agcount=8, agsize=65520 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=524160, imaxpct=25
         =                       sunit=16     swidth=16 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=16 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

[root@serverc ~]# mkdir -p /bricks/brick-c1
[root@serverc ~]# blkid
/dev/vda1: UUID="2460ab6e-e869-4011-acae-31b2e8c05a3b" TYPE="xfs" 
/dev/vdb: UUID="KlhHmY-vcmo-8qHh-nkio-soPV-8yIS-zoQPpg" TYPE="LVM2_member" 
/dev/mapper/vg_bricks-brick--c1: UUID="51b267fe-7a06-4327-b32d-36e8eaaaea7b" TYPE="xfs" 

[root@serverc ~]# echo "UUID=51b267fe-7a06-4327-b32d-36e8eaaaea7b /bricks/brick-c1 xfs defaults 1 2" >> /etc/fstab 
[root@serverc ~]# mount -a

[root@serverc ~]# mkdir -p /bricks/brick-c1/brick
[root@serverc ~]# semanage fcontext -a -t glusterd_brick_t /bricks/brick-c1/brick
[root@serverc ~]# restorecon -Rv /bricks
restorecon reset /bricks/brick-c1 context system_u:object_r:unlabeled_t:s0->system_u:object_r:default_t:s0
restorecon reset /bricks/brick-c1/brick context unconfined_u:object_r:unlabeled_t:s0->unconfined_u:object_r:glusterd_brick_t:s0

[root@serverd ~]# lvcreate -L 10G -T vg_bricks/labpool
  Logical volume "labpool" created.
[root@serverd ~]# lvcreate -V 2G -T vg_bricks/labpool -n brick-d1
  Logical volume "brick-d1" created.
[root@serverd ~]# mkfs.xfs -i size=512 /dev/vg_bricks/brick-d1 
meta-data=/dev/vg_bricks/brick-d1 isize=512    agcount=8, agsize=65520 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=524160, imaxpct=25
         =                       sunit=16     swidth=16 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=16 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

[root@serverd ~]# mkdir -p /bricks/brick-d1
[root@serverd ~]# blkid
/dev/vda1: UUID="2460ab6e-e869-4011-acae-31b2e8c05a3b" TYPE="xfs" 
/dev/vdb: UUID="KlhHmY-vcmo-8qHh-nkio-soPV-8yIS-zoQPpg" TYPE="LVM2_member" 
/dev/mapper/vg_bricks-brick--d1: UUID="a9551e17-7e59-4422-aebd-106c08bf914a" TYPE="xfs" 

[root@serverd ~]#  echo "UUID=a9551e17-7e59-4422-aebd-106c08bf914a /bricks/brick-d1 xfs defaults 1 2" >> /etc/fstab
[root@serverd ~]# mount -a

[root@serverd ~]# mkdir  /bricks/brick-d1/brick
[root@serverd ~]# semanage fcontext -a -t glusterd_brick_t /bricks/brick-d1/brick
[root@serverd ~]# restorecon -Rv /bricks
restorecon reset /bricks/brick-d1 context system_u:object_r:unlabeled_t:s0->system_u:object_r:default_t:s0
restorecon reset /bricks/brick-d1/brick context unconfined_u:object_r:unlabeled_t:s0->unconfined_u:object_r:glusterd_brick_t:s0

3. 创建和启动卷。

[root@serverc ~]# gluster volume create labvol serverc:/bricks/brick-c1/brick serverd:/bricks/brick-d1/brick
volume create: labvol: success: please start the volume to access data
[root@serverc ~]# gluster volume start labvol 
volume start: labvol: success

4. 评分脚本

[root@workstation ~]# lab basicconfig grade

5. 重置环境

reset workstation,servera,serverb,serverc,serverd


总结

  • 在信任池内的任一节点创建volume即可。

  • client并不是通过NFS提供服务的,而是通过glusterd服务提供NFS。

以上就是【金鱼哥】的分享。希望能对看到此文章的小伙伴有所帮助。

如果这篇【文章】有帮助到你,希望可以给【金鱼哥】点个赞👍,创作不易,相比官方的陈述,我更喜欢用【通俗易懂】的文笔去讲解每一个知识点,如果有对【运维技术】感兴趣,也欢迎关注❤️❤️❤️ 【金鱼哥】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💕💕!

目录
相关文章
|
6月前
|
Kubernetes 关系型数据库 MySQL
在 K8S Volume 中使用 subPath
在 K8S Volume 中使用 subPath
|
6月前
|
存储 传感器 分布式计算
Volume(大量)
Volume(大量)
47 1
|
11月前
|
存储 Kubernetes 块存储
k8s教程(Volume篇)-PV详解
k8s教程(Volume篇)-PV详解
229 0
|
11月前
|
存储 Kubernetes 关系型数据库
k8s教程(Volume篇)-PVC详解
k8s教程(Volume篇)-PVC详解
127 0
|
11月前
|
存储 Kubernetes 调度
k8s教程(Volume篇)-StorageClass详解
k8s教程(Volume篇)-StorageClass详解
876 0
|
存储 Docker 容器
Docker - 数据持久化存储 Data Volume & Bind Mount
Docker - 数据持久化存储 Data Volume & Bind Mount
115 0
|
存储 网络协议 Java
Volume特点
Volume特点
185 0
|
存储 Kubernetes Apache
kubernetes资源对象--持久化存储Persistent Volume和Persistent Volume Claim
概念 存储管理跟计算管理是两个不同的问题。理解每个存储系统是一件复杂的事情,特别是对于普通用户来说,有时并不需要关心各种存储实现,只希望能够安全可靠地存储数据。 为了简化对存储调度,K8S对存储的供应和使用做了抽象,以API形式提供给管理员和用户使用。
2553 0