RHSC集群添加存储,ext4和gfs2文件系统下的存储拉伸,RHCS套件集群的删除

2023-12-27 21:38

本文主要是介绍RHSC集群添加存储,ext4和gfs2文件系统下的存储拉伸,RHCS套件集群的删除,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

实验环境:redhat6.5,selinux,iptables关闭
server2(172.25.92.2),提供SCSI共享存储的主机
server1和server9是集群节点。

开启server2:添加8g虚拟内存
这里写图片描述
server2上:

fdisk -l#将其划分为一个分区:
fdisk -cu /dev/vdb  (n-->p-->1-->wq)
cat /proc/partitions 
yum install -y scsi-*
vim /etc/tgt/targets.conf 38 <target iqn.2018-01.com.example:server.target1>39     backing-store /dev/vdb140     initiator-address 172.25.92.141     initiator-address 172.25.92.942 </target>/etc/init.d/tgtd start
tgt-admin -s
[root@server2 ~]# tgt-admin -s
Target 1: iqn.2018-01.com.example:server.target1System information:Driver: iscsiState: readyI_T nexus information:LUN information:LUN: 0Type: controllerSCSI ID: IET     00010000SCSI SN: beaf10Size: 0 MB, Block size: 1Online: YesRemovable media: NoPrevent removal: NoReadonly: NoBacking store type: nullBacking store path: NoneBacking store flags: LUN: 1Type: diskSCSI ID: IET     00010001SCSI SN: beaf11Size: 8589 MB, Block size: 512Online: YesRemovable media: NoPrevent removal: NoReadonly: NoBacking store type: nullBacking store path: NoneBacking store flags: LUN: 1Type: diskSCSI ID: IET     00010001SCSI SN: beaf11Size: 8589 MB, Block size: 512Online: YesRemovable media: NoPrevent removal: NoReadonly: NoBacking store type: rdwrBacking store path: **/dev/vdb1** #看这里Backing store flags: Account information:ACL information:     #看这里**172.25.92.1172.25.92.9**#注意:在server2上不能格式化,SCSI存储是直接共享存储,在客户端格式化,而nfs文件系统的共享是在服务端共享文件系统。

server1上:


iscsiadm -m discovery -t st -p 172.25.92.2
iscsiadm -m node -l
fdisk -l    
fdisk -cu /dev/sda (e-->1-->1-->t-->8e-->wq)
fdisk -l
可以看见:Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *           3        1018      512000   83  Linux
Partition 1 does not end on cylinder boundary.
#/dev/vda2            1018       41611    20458496   8e  Linux LVM
Partition 2 does not end on cylinder boundary.

先格式化ext4文件系统:

server1上:


mkfs.ext4 /dev/sda1
blkid 
iscsiadm -m discovery -t st -p 172.25.92.2   #发现SCSI共享存储
iscsiadm -m node -l   #登陆
[root@server9 mnt]# cd /var/lib/iscsi/nodes/iqn.2018-01.com.example\:server.target1/   #查看共享的存储

server9上:

iscsiadm -m discovery -t st -p 172.25.92.2   #发现SCSI共享存储
iscsiadm -m node -l
[root@server9 ~]# cat /proc/partitions 
major minor  #blocks  name252        0   20971520 vda252        1     512000 vda1252        2   20458496 vda2253        0   19439616 dm-0253        1    1015808 dm-18        0    8387584 sda8        1    8386560 sda1       #看这里#如果看不到,使用partprobe同步分区表即可

测试;在server1上将/dev/sda1挂载在/mnt下面,在/mnt里创建的文件,可以看见文件。server9同样挂载,在/mnt里发现不了创建的文件,原因在于ext4文件系统只支持单点运行,只有server1卸载之后,server9重新挂载才能看见文件。所以不可以作为集群存储的文件系统

创建集群存储共享

再次格式化为集群文件系统(gfs2 gloabl file system 的第二个版本)
server1和server9全部都先卸载:umont /mnt
在server1上:

df -h
[root@server1 ~]# mkfs.gfs2 -j 3 -p lock_dlm -t westos_ha:mygfs2 /dev/sda1   
# -j 3   指定记录三分文件系统,份数是集群节点加一,对集群化文件系统的操作需要记录在日志中
#-p    指定协议,分布式锁协议
#-t    需要共享存储的集群名称,并指定共享存储的名称
This will destroy any data on /dev/sda1.
It appears to contain: Linux rev 1.0 ext4 filesystem data (errors) (extents) (large files) (huge files)Are you sure you want to proceed? [y/n] yDevice:                    /dev/sda1
Blocksize:                 4096
Device Size                8.00 GB (2096640 blocks)
Filesystem Size:           8.00 GB (2096638 blocks)
Journals:                  3
Resource Groups:           32
Locking Protocol:          "lock_dlm"
Lock Table:                "westos_ha:mygfs2"
UUID:                      5a7ce658-0a61-41c2-28ab-18e5c2838bdd
#测试
mount /dev/sda1 /mnt/
cd /mnt
cp /etc/passwd .
ls
可以看见passwd文件

server9:

df -h
mount /dev/sda1 /mnt/
cd /mnt 
ls
可以看见passwd
#成功实现集群存储共享

集群存储的挂载和拉伸:ext4和gfs2

要实现存储的拉伸扩展,使用LVM存储,LVM支持集群:
vim /etc/lvm/lvm.conf #在集群节点主机上的lvm的配置文件中可以看见LVM支持集群,默认是1。
这里写图片描述
首先需要破坏原本的文件系统:
server1上:

umount /mnt
/etc/init.d/clvmd start
root@server1 ~]# dd if=/dev/zero of=/dev/sda1 bs=1M count=10           #破坏文件系统
10+0 records in
10+0 records out
10485760 bytes (10 MB) copied, 0.0307969 s, 340 MB/s
[root@server1 ~]# mount /dev/sda1 /mnt/   #再次挂载时已经出错
mount: you must specify the filesystem type[root@server1 ~]# pvcreate /dev/sda1    #创建pvPhysical volume "/dev/sda1" successfully created
[root@server1 ~]# vgcreate cluster_vg /dev/sda1   #创建vg Clustered volume group "cluster_vg" successfully created
[root@server1 dev]# lvcreate -L 4G -n demo cluster_vg  #创建lvLogical volume "demo" created
创建的LVM存储在server9上使用 pvs,vgs,lvs可以看到
[root@server1 ~]# vgdisplay 
VG Name               cluster_vgSystem ID             Format                lvm2Metadata Areas        1Metadata Sequence No  14VG Access             read/writeVG Status             resizable Clustered             yes             #LVM支持集群
[root@server1 dev]# mkfs.ext4 /dev/cluster_vg/demo
clusvam -d nginx        #停掉nginx服务,

接下来展示在浏览器端添加共享存储:
点击资源:
这里写图片描述
添加filesystem资源:
这里写图片描述
然后在资源组将原有的nginx(scripts)服务remove掉,先加上Filesystem资源,再载filesystem后面添加nginx服务后面,因为在服务启动就会有数据写入磁盘,所以需要先格式化磁盘文件系统

[root@server1 dev]# clusvcadm -e nginx
Local machine trying to enable service:nginx...Success
service:nginx is now running on server1
[root@server1 dev]# df -h   #可以看到已经随集群挂载
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   19G  1.4G   17G   8% /
tmpfs                         939M   26M  914M   3% /dev/shm
/dev/vda1                     485M   33M  427M   8% /boot
/dev/mapper/cluster_vg-demo   4.0G  136M  3.7G   4% /usr/local/nginx/html
[root@server1 dev]# ip addr   #可以看到ip
#同样server9是同步的,也会有以上效果
接下来测试:cd /mnt建立文件,只在一台server上可以看见,原因是共享存储挂载的是ext4文件系统
vim /var/www/html/index.htmltest
curl 172.25.92.100   
可以成功访问nginx!
#将nginx迁移到server9上,同样会看到和server1一样的效果
clvscadm -r nginx -m server9

ext4文件系统下,拉伸存储:

lvextend -l +1023 /dev/cluster_vg/demo 
resize2fs /dev/cluster_vg/demo 
[root@server1 dev]# df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   19G  1.4G   17G   8% /
tmpfs                         939M   26M  914M   3% /dev/shm
/dev/vda1                     485M   33M  427M   8% /boot
/dev/mapper/cluster_vg-demo   7.9G  137M  7.4G   2% /usr/local/nginx/html         #拉伸成功

共享存储挂载gfs2文件系统并实现拉伸和自动挂载

载浏览器端,先行从资源组删除,注意:删除filesystem时会将nginx服务也删除,需要重新加上nginx。再在资源(resource)里删除webdata即可。

umount /usr/local/nginx/htmllvremove /dev/cluster_vg/demo 
lvcreate -L 4G -n demo cluster_vg
`mkfs.gfs2 -j 3 -p lock_dlm -t westos_ha:mygfs2 /dev/cluster_vg/demo      #重新格式化同样可以使得多个节点同时挂载使用。[root@server1 mnt]# df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   19G  1.4G   17G   8% /
tmpfs                         939M   32M  908M   4% /dev/shm
/dev/vda1                     485M   33M  427M   8% /boot
/dev/mapper/cluster_vg-demo   7.8G  338M  7.0G  10% /mnt
可以看处记录日志已经占了338M存储
[root@server1 mnt]# gfs2_tool journals   /dev/cluster_vg/demo#查看日志情况,**必须在挂载目录中看**
journal2 - 128MB
journal1 - 128MB
journal0 - 128MB
3 journal(s) found.
#增加记录日志份数:
[root@server1 mnt]# gfs2_jadd -j 3 /dev/cluster_vg/demo  #加3份
Filesystem:            /mnt
Old Journals           3
New Journals           6
[root@server1 mnt]# df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   19G  1.4G   17G   8% /
tmpfs                         939M   32M  908M   4% /dev/shm
/dev/vda1                     485M   33M  427M   8% /boot
/dev/mapper/cluster_vg-demo   7.8G  776M  7.0G  10% /mnt
存储自动使用776M记录6份日志
#实现自动挂载:
umount /mnt
vim /etc/fstabl     #两台主机分别要做,不会同步
/dev/cluster_vg/demo    /usr/local/nginx/html   gfs2    _netdev         0 0
mount -a          #刷新挂载clusvcadm -e nginx       #在集群中重新开启nginx服务
vim /usr/local/nginx/html/index.htmlwww.test.com
使用命令:curl 172.25.92.100可以成功访问
#使用网络文件系统的挂载方式。

RHCS套件构建集群的删除:

注意:必须先停服务,再关闭SCSI存储,先删除存储设备,再删除服务,再关闭集群套件,再删除集群节点,最后重启动。
server2上:/etc/init.d/tgtd stop
server1和server9上:

clusvcadm -d nginx   #停掉服务vim /etc/fstab      #删除添加的开机挂载项
umount /usr/local/nginx/html/
df -h
lvremove /dev/cluster_vg/demo      #删除LVM
vgremove cluster_vg
lvremove /dev/sda1 
fdisk -l
iscsiadm -m node -u              #退出登陆SCSI设备
iscsiadm -m node -o delete       #删除scsi设备

将节点离开集群:
这里写图片描述
clustat #查看

先关闭集群套件,再限制开机启动
chkconfig --list cman
chkconfig cman off
chkconfig rgmanager off
chkconfig --list clvmd
chkconfig modclusterd off
chkconfig ricci off
chkconfig luci off

vim /etc/lvm/lvm.conf
这里写图片描述
server不再是集群节点,LVM也就不再支持集群
reboot
到此完成集群的删除
也可以直接删除/etc/cluster/cluster.conf,即配置文件,再限制集群套件开机启动等。

这篇关于RHSC集群添加存储,ext4和gfs2文件系统下的存储拉伸,RHCS套件集群的删除的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/544358

相关文章

docker如何删除悬空镜像

《docker如何删除悬空镜像》文章介绍了如何使用Docker命令删除悬空镜像,以提高服务器空间利用率,通过使用dockerimage命令结合filter和awk工具,可以过滤出没有Tag的镜像,并将... 目录docChina编程ker删除悬空镜像前言悬空镜像docker官方提供的方式自定义方式总结docker

Redis存储的列表分页和检索的实现方法

《Redis存储的列表分页和检索的实现方法》在Redis中,列表(List)是一种有序的数据结构,通常用于存储一系列元素,由于列表是有序的,可以通过索引来访问元素,因此可以很方便地实现分页和检索功能,... 目录一、Redis 列表的基本操作二、分页实现三、检索实现3.1 方法 1:客户端过滤3.2 方法

使用Python在Excel中插入、修改、提取和删除超链接

《使用Python在Excel中插入、修改、提取和删除超链接》超链接是Excel中的常用功能,通过点击超链接可以快速跳转到外部网站、本地文件或工作表中的特定单元格,有效提升数据访问的效率和用户体验,这... 目录引言使用工具python在Excel中插入超链接Python修改Excel中的超链接Python

Android kotlin语言实现删除文件的解决方案

《Androidkotlin语言实现删除文件的解决方案》:本文主要介绍Androidkotlin语言实现删除文件的解决方案,在项目开发过程中,尤其是需要跨平台协作的项目,那么删除用户指定的文件的... 目录一、前言二、适用环境三、模板内容1.权限申请2.Activity中的模板一、前言在项目开发过程中,尤

C++中使用vector存储并遍历数据的基本步骤

《C++中使用vector存储并遍历数据的基本步骤》C++标准模板库(STL)提供了多种容器类型,包括顺序容器、关联容器、无序关联容器和容器适配器,每种容器都有其特定的用途和特性,:本文主要介绍C... 目录(1)容器及简要描述‌php顺序容器‌‌关联容器‌‌无序关联容器‌(基于哈希表):‌容器适配器‌:(

C#实现添加/替换/提取或删除Excel中的图片

《C#实现添加/替换/提取或删除Excel中的图片》在Excel中插入与数据相关的图片,能将关键数据或信息以更直观的方式呈现出来,使文档更加美观,下面我们来看看如何在C#中实现添加/替换/提取或删除E... 在Excandroidel中插入与数据相关的图片,能将关键数据或信息以更直观的方式呈现出来,使文档更

Python脚本实现自动删除C盘临时文件夹

《Python脚本实现自动删除C盘临时文件夹》在日常使用电脑的过程中,临时文件夹往往会积累大量的无用数据,占用宝贵的磁盘空间,下面我们就来看看Python如何通过脚本实现自动删除C盘临时文件夹吧... 目录一、准备工作二、python脚本编写三、脚本解析四、运行脚本五、案例演示六、注意事项七、总结在日常使用

Git中恢复已删除分支的几种方法

《Git中恢复已删除分支的几种方法》:本文主要介绍在Git中恢复已删除分支的几种方法,包括查找提交记录、恢复分支、推送恢复的分支等步骤,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录1. 恢复本地删除的分支场景方法2. 恢复远程删除的分支场景方法3. 恢复未推送的本地删除分支场景方法4. 恢复

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

使用Python实现在Word中添加或删除超链接

《使用Python实现在Word中添加或删除超链接》在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能,本文将为大家介绍一下Python如何实现在Word中添加或... 在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能。通过添加超