本文最后更新于 4 年前,文中所描述的信息可能已发生改变。
云计算与分布式实验-存储技术
实验19 - 磁盘的分区及格式化
一、任务描述
本实验主要完成对磁盘的分区及格式化的一系列基本操作,包括查看磁盘空间占用、对磁盘进行分区、创建删除分区、公告内核和对新分区的格式化等操作。通过完成本实验任务,要求学生熟练掌握磁盘的分区及格式化,并填写工作任务报告。
二、任务目标
1、掌握查看磁盘空间占用情况 2、掌握对空闲的磁盘进行分区及格式化
三、任务环境
软件环境:RHEL/CentOS7.0操作系统 硬件环境:计算机一台,CPU两核,kernel 3.10
四、任务分析
(1)硬盘用fdisk分区之后还不能使用,还要进行分区格式化,扩展分区要先建立逻辑分区之后才能格式化,建立逻辑分区方法和硬盘分区一样,fdisk的时候带上扩展分区的分区号。 (2)RHEL7如何对磁盘进行分区和格式化以及如何配置LVM,与以前版本的RHEL区别不大,可以通过disk工具(在图形桌面中运行)或命令工具(如:fdisk、gdisk、parted)管理硬盘设备。fdisk可以配置MBR格式; gdisk配置gpt格式, parted可以自己选择。
五、 任务实施
| 用户名 | 密码 |
|---|---|
| root | Simplexue123 |
步骤1、环境准备
在终端输入指令查看硬盘分区
shellfdisk -l

[!NOTE] 那什么是loop设备呢?loop设备是一种伪设备,是使用文件来模拟块设备的一种技术,文件模拟成块设备后, 就可以像一个磁盘或光盘一样使用了。在使用之前,一个 loop 设备必须要和一个文件进行连接。这种结合方式给用户提供了一个替代块特殊文件的接口。因此,如果这个文件包含有一个完整的文件系统,那么这个文件就可以像一个磁盘设备一样被 mount 起来。之所以叫loop设备(回环),其实是从文件系统这一层来考虑的,因为这种被 mount 起来的镜像文件它本身也包含有文件系统,通过loop设备把它mount起来,它就像是文件系统之上再绕了一圈的文件系统,所以称为 loop。一般在linux中会有8个loop设备,一般是/dev/loop0~loop7,可用通过losetup -a查看所有的loop设备。下面的实验中,我们就把loop设备暂时叫做磁盘(因为它可以被当作磁盘进行操作)。
步骤2、传统MBR分区
对第一块磁盘进行分区
shellfdisk /dev/loop1
输入m获取帮助。
[!TIP]
【l】#显示分区类型 【n】#新建分区 【p】#显示分区表信息 【w】#保存并退出

新建一个分区
先输入n添加一个新的分区,再使用p建一个主分区。起始扇区直接敲回车,然后给这个分区100M大小。

查看是否完成创建
p打印分区表

[!note]
这一步的【p】和(3)中的是不一样的,在(3)中是先用【n】新建分区,然后【p】代表的是新建一个主分区。
创建一个扩展分区,然后查看扩展分区
使用e创建扩展分区

创建逻辑分区,然后查看逻辑分区
【l】是创建逻辑分区


删除分区
【d】删除分区。


使用w保存退出

我们使用【partprobe】命令让内核立即读取新的分区表,这样我们就无须重启系统了

步骤3、GPT分区
修改分区表格式
修改分区表格式会导致数据丢失,所以我们找一块没有操作过的磁盘来进行实验
shellparted /dev/loop2 mklabel gpt
[!note]
改变分区方式后,原有磁盘中所有的数据将会全部丢失,因此要保存好自己的数据备份,这里我们使用第二块磁盘来进行GPT分区演示
查看系统分区表类型
shellparted /dev/loop2 print
查看分区表类型可知确实为gpt类型
创建一个格式为ext3的主分区,从磁盘的第1MB开始分区,到100M的位置(大小为100M的主分区)
shellparted /dev/loop2 mkpart primary ext3 1 100M
[!note]
其中,mkpart指令为创建新的分区,分区类型有:primary、logical、extended三种,文件系统类型有:fat16、fat32、ext2、ext3、linux-swap等,分区大小默认单位为MB。
创建一个容量为200M的分区(从磁盘的第一个100M位置开始分区,到第3个100M的位置结束)

查看分区表信息

删除分区,2是指分区表信息中的Number值
shellparted /dev/loop2 rm 2
步骤4、对新分区进行格式化
我们使用mkfs命令来完成格式化操作,其中Centos7系统默认的文件系统格式为xfs格式
shellmkfs.xfs -f /dev/loop1p1
[!note]
新建的分区要格式化之后才能挂载使用
对于交换分区,我们需要使用单独的mkswap命令实现格式化工作
shellmkswap /dev/loop2p1
实验20 - 逻辑卷组及逻辑卷的管理
一、任务描述
本实验任务主要完成对逻辑卷组及逻辑卷的管理的一系列基本操作,包括将普通分区转化为物理卷、将物理卷组合为卷组、从卷组中提取容量创建逻辑卷、创建文件系统、修改LVM分区容量和删除LVM分区等操作。通过完成本实验任务,要求学生能自主完成逻辑卷组及逻辑卷的管理,并填写工作任务报告。
二、任务目标
1、掌握如何从卷组中提取容量创建 2、掌握逻辑卷组及逻辑卷的管理
三、任务环境
软件环境:RHEL/CentOS7.0操作系统 硬件环境:计算机一台,CPU两核,kernel 3.10
四、任务分析
(1)我们在安装linux系统或者添加新的硬盘时需要正确的评估各个分区当前所需的大小,甚至硬盘所需空间的变化趋势,以分配合适大小的硬盘空间满足生产需要。然而这个过程有时是很难准确判断的,往往需要分配比预期超出许多的空间以避免硬盘分区空间耗尽。LVM技术可以很方便的解决这个问题。 (2)LVM是Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对硬盘分区进行管理的一种机制。LVM是建立在硬盘和分区上的逻辑层,它允许跨硬盘、分区创建逻辑卷并创建文件系统,可以很方便执行增加、扩展、删除等操作。
五、 任务实施
| 用户名 | 密码 |
|---|---|
| root | Simplexue123 |
步骤1、新建普通分区
我们使用fdisk命令来查看系统中的磁盘情况,看到有四个loop1设备,这里我们只需用到两个

我们将前两块磁盘分三个分区(需要用户自己手动分成三个区),每个分区大小为200M(详细步骤参考上一个实验)

我们使用如下命令来让内核立即读取分区表

步骤2、将普通分区转化为物理卷
普通分区转化为物理卷的命令是pvcreate。将两快磁盘分区进行初始化。
shellpvcreate /dev/loop1{p1,p2,p3} pvcreate /dev/loop2{p1,p2,p3}
步骤3、将物理卷组合为卷组
将loop1中的前两个物理卷和loop2的第三个物理卷组合成一个名为test_vg1的卷组
shellvgcreate vgsyb23_1 /dev/loop1p1 /dev/loop1p2 /dev/loop2p3
将loop1中的第三个物理卷和loop2的前两个物理卷组合成一个名为test_vg2的卷组
shellvgcreate vgsyb23_2 /dev/loop1p3 /dev/loop2p1 /dev/loop2p2
步骤4、从卷组中提取容量创建逻辑卷
从卷组test_vg1中提取2G的容量来创建一个名为test_lv1的逻辑卷
shelllvcreate -L 400M -n lvsyb23_1 vgsyb23_1
[!note]
【-L】直接指定逻辑卷容量的大小,单位可以是b(B)、s(S)、k(K)、m(M)、g(G)、t(T)、p(P)或e(E)。 【-n】指定逻辑卷名称。
通过从卷组test_vg2中的/dev/loop2p1里提取100M的容量来创建一个名为test_lv2的逻辑卷
shellIvcreate -L 100M -n vlsyb23_2 vgsyb23_2 /dev/loop2p1
步骤5、创建文件系统
创建挂载目录

创建文件系统
shellmkfs.xfs /dev/vgsyb23_1/vlsyb23_1 mkfs.xfs /dev/vgsyb23_2/vlsyb23_2
将创建的文件系统分别挂载到创建的目录中,并查看挂载状态
shellmount /dev/vgsyb23_1/vlsyb23_1 /music/ mount /dev/vgsyb23_2/vlsyb23_2 /movie/
步骤6、修改LVM分区容量
使用
lvextend命令调整逻辑卷的大小shelllvextend -L +100M /dev/vgsyb23_1/vlsyb23_1
df –h命令中看到大小并没有改变,因为我们只是改变了逻辑卷的大小,并没有改变文件系统的大小
改变文件系统的大小,然后再查看挂载情况,看到我们的文件系统大小已经改变了
shellxfs_growfs /dev/vgsyb23_1/vlsyb23_1
步骤7、删除LVM分区
删除的顺序应该和创建时的顺序相反,所以我们先来卸载文件系统,再查看挂载情况
shellumount /dev/vgsyb23_1/vlsyb23_1 umount /dev/vgsyb23_2/vlsyb23_2
[!note]
如果有必要,应该更新/etc/fstab文件
使用lvremove命令来删除逻辑卷
shelllvremove /dev/vgsyb23_1/vlsyb23_1 lvremove /dev/vgsyb23_2/vlsyb23_2
使用vgremove命令来删除卷组
shellvgremove vgsyb23_1 vgremove vgsyb23_2
使用pvremove命令来删除物理卷
shellpvremove /dev/loop1{p1,p2,p3} pvremove /dev/loop2{p1,p2,p3}
实验21 - mdadm工具划分软raid
一、任务描述
本实验任务主要完成对mdadm工具划分软raid的一系列基本操作,包括创建格式为RAID格式的磁盘分区、mdadm命令的使用、分别创建RAID0和RAID5、查看RAID的信息和对RAID的格式化挂载等操作。通过完成本实验任务,要求学生熟练掌握mdadm工具划分软raid的操作,并填写工作任务报告。
二、任务目标
1、掌握改变磁盘分区的格式 2、掌握mdad工具划分raid
三、任务环境
软件环境:RHEL/CentOS7.0操作系统 硬件环境:计算机一台,CPU两核,kernel 3.10
四、任务分析
(1)RAID 即廉价磁盘冗余阵列,其高可用性和可靠性适用于大规模环境中,相比正常使用,数据更需要被保护。RAID 是一些磁盘的集合,是包含一个阵列的逻辑卷。驱动器可以组合起来成为一个阵列或称为(组的)集合。 (2)创建 RAID 最少应使用2个连接到 RAID 控制器的磁盘组成,来构成逻辑卷,可以根据定义的 RAID 级别将更多的驱动器添加到一个阵列中。不使用物理硬件创建的 RAID 被称为软件 RAID。软件 RAID 也叫做穷人 RAID。
五、 任务实施
| 用户名 | 密码 |
|---|---|
| root | Simplexue123 |
步骤1、创建硬盘分区
查看系统的磁盘信息

给磁盘创建新分区
shellfdisk /dev/loop1
创建一个100M的新分区

将新分区格式改为RAID格式并写入分区表

其他三块磁盘做相同操作,每块磁盘创建三个100M的raid格式的分区,然后公告内核,这样我们就无需重启系统了
shellpartprobe /dev/loop1 /dev/loop2 /dev/loop3 /dev/loop4
步骤2、创建RAID
mdadm用法介绍: 用法:mdadm 【模式】 选项 【raid设备】 选项:-C 创建软件RAID(create) -l 指定RAID级别(level) -n 指定磁盘个数 -x 指定备用设备个数
创建一个名为md0的raid0
shellmdadm -C /dev/md0 -l 0 -n 3 /dev/loop1p1 /dev/loop2p1 /dev/loop3p1
创建一个名为md5的raid5
shellmdadm -C /dev/md5 -l 5 -n 3 /dev/loop1p2 /dev/loop2p2 /dev/loop3p2
创建一个名为md10的raid10
shellmdadm -C /dev/md1 -l 0 -n 2 /dev/loop1p3 /dev/loop2p3 mdadm -C /dev/md2 -l 0 -n 2 /dev/loop4p1 /dev/loop4p2
然后用这两个raid0创建raid10
shellmdadm -C /dev/md10 -l 10 -n 2 /dev/md1 /dev/md2
使用mdadm工具查看RAID0的信息
shellmdadm --detail /dev/md0
使用mdadm工具查看RAID5的信息

使用mdadm工具查看RAID10的信息

步骤3、格式化与挂载
使用如下命令来格式化raid
shellmkfs.xfs /dev/md0 mkfs.xfs /dev/md5 mkfs.xfs /dev/md10
创建挂载目录

设置为开机自动挂载项
shellecho "/dev/md0 /raid0 xfs defaults 0 0" >> /etc/fstab echo "/dev/md5 /raid5 xfs defaults 0 0" >> /etc/fstab echo "/dev/md10 /raid10 xfs defaults 0 0" >> /etc/fstab mount –a
查看挂载情况

步骤4、验证挂载设备
在RAID里存入资料,查看能否存入
shelltouch /raid10/hello.txt echo "Hello" > /raid10/hello.txt cat /raid10/hello.txt
使用dd命令来测试一下各raid的速度
shelldd if=/dev/vda of=/raid0/ceshi.img bs=1M count=50 dd if=/dev/vda of=/raid5/ceshi.img bs=1M count=50 dd if=/dev/vda of=/raid10/ceshi.img bs=1M count=50
实验22 - 搭建nfs服务器
一、任务描述
本实验任务主要完成对nfs服务器的搭建,包括安装服务、启动服务、nfs服务端的配置、在服务端共享文件下创建文件、在客户端挂载nfs服务器共享文件夹和在客户端向nfs服务器创建文件等。通过完成本实验任务要求学生能自主完成nfs服务器的搭建,并填写工作任务报告。
二、任务目标
1、掌握搭建nfs服务器 2、掌握客户端使用nfs服务器
三、任务环境
软件环境:RHEL/CentOS7.0操作系统 硬件环境:计算机一台,CPU两核,kernel 3.10
四、任务分析
1、由程序在NFS客户端发起存取文件的请求,客户端本地的RPC(rpcbind)服务会通过网络向NFS服务端的RPC的111端口发出文件存取功能的请求。 2、NFS服务端的RPC找到对应已注册的NFS端口,通知客户端RPC服务。 3、客户端获取正确的端口,并与NFS daemon联机存取数据。 4、存取数据成功后,返回前端访问程序,完成一次存取操作。
五、 任务实施
| 用户名 | 密码 |
|---|---|
| root | Simplexue123 |
步骤1、安装软件包(Host1)
查看是否安装NFS
shellrpm -qa nfs-utils rpcbind
如果没安装使用以下命令
shellyum -y install nfs-utils rpcbind关闭防火墙并设置下次开机自动关闭
shellsystemctl stop firewalld systemctl disable firewalld systemctl status firewalld
步骤2、启动服务(Host1)
启动rpc服务并加入开机自启项
shellsystemctl start rpcbind.service systemctl enable rpcbind.service
[!note]
由于系统默认已经加入开机自启项,所以没有创建软连接的回显
启动NFS服务并加入开机自启项
shellsystemctl start nfs.service systemctl enable nfs.service
步骤3、NFS服务端配置(Host1)
编辑配置文件
shellvim /etc/exports
具体文件内容
exports文件配置格式: NFS共享的目录 NFS客户端地址1(参数1,参数2,…) 客户端地址2(参数1,参数2,…) NFS共享目录: 要用绝对路径,可被nfsnobody读写。 NFS客户端地址: 指定IP: 192.168.0.1 指定子网所有主机: 192.168.0.0/24 指定域名的主机: test.com 指定域名所有主机: 【】.test.com 所有主机:“*“ 参数: ro:目录只读 rw:目录读写 sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性 async:将数据先保存在内存缓冲区中,必要时才写入磁盘 all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody) no_all_squash:与all_squash取反(默认设置) root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置) no_root_squash:与rootsquash取反 anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx) anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户 例如: /data/tmp 192.168.0.0/24(rw,sync,all_squash)

创建需要共享的目录,修改目录的权限
shellmkdir /data/tmp chown nfsnobody.nfsnobody /data/tmp/
重新加载nfs配置
shellexportfs -rv
查看nfs服务器挂载情况
shellshowmount -e localhost
步骤4、nfs客户端配置(Host2)
切换到另一台Host修改客户端的ip地址为dhcp,重启网络服务
shellvim /etc/sysconfig/network-scripts/ifcfg-br0

查看是否安装RPC
shellrpm -qa nfs-utils rpcbind
查看nfs服务器的共享目录

创建挂载目录

进行挂载测试,并查看是否挂载成功

创建文件进行测试

步骤5、查看nfs服务器是否被写入了文件
去nfs服务器(Host1)里查看

实验23 -搭建ISCSI环境
一、任务描述
本实验任务主要完成对ISCSI环境的搭建,包括安装管理工具、给服务分配一个新分区、设置target、设置防火墙、设置initiator、建立连接和磁盘操作等一系列基本操作。通过完成本实验任务,要求学生能熟练掌握ISCSI环境的搭建,并填写工作任务报告。
二、任务目标
1、掌握target的基本设置 2、掌握ISCSI环境的搭建
三、任务环境
软件环境:RHEL/CentOS7操作系统 硬件环境:计算机一台,CPU两核,kernel 3.10
四、任务分析
(1)ISCSI分为服务端和客户端,服务端需要安装iscsi target用来共享存储设备,客户端需要安装iscsi initiator用来连接target端,将target端共享的设备挂载到本地,可以对其进行分区,格式化等操作。 (2)iSCSI(Internet Small Computer System Interface),Internet小型计算机系统接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准。
五、 任务实施
| 用户名 | 密码 |
|---|---|
| root | Simplexue123 |
步骤1、环境准备(Host1)
安装iscsi target
shellyum install targetcli.noarch
建立一个目录设置为iscsi设备
shellmkdir /iscsi_disks
步骤2、设置target(Host1)
进入管理控制台
shelltargetcli
在/iscsi_disks/disk01.img上使用2G创建名为“disk01“的磁盘映像
shellcd backstores/fileio create disk01 /iscsi_disks/disk01.img 2G
进入/iscsi下设置目标
shellcd /iscsi create iqn.2024-04.edu.tiangong.songyuanbo:storage.target0
设置监听IP和端口(跳过)
shellcd iqn.2024-04.edu.tiangong.songyuanbo:storage.target0/tpg1/portals/ delete 0.0.0.0 3260 create 192.168.0.3设置luns
shellcd /iscsi/ cd iqn.2024-04.edu.tiangong.songyuanbo:storage.target0/tpg1/luns create /backstores/fileio/disk01
设置ACL
shellcd /iscsi/iqn.2024-04.edu.tiangong.songyuanbo:storage.target0/tpg1/acls create iqn.2024-04.edu.tiangong.iot:songyuanbo23
在ACL里设置用于验证的UserID(跳过)cd
保存规则,然后退出


步骤3、关闭防火墙启动相应服务(Host1)
设置防火墙开机自动关闭,关闭防火墙,并查看防火墙状态
shellsystemctl disable firewalld systemctl stop firewalld systemctl status firewalld
设置服务开机自启并启动服务,查看服务状态
shellsystemctl enable target.service systemctl start target.service systemctl status target.service
查看端口
shellnetstat -lnp | grep 3260
步骤4、设置iscsi initiator(Host2)
安装iscsi-initiator-utils服务
shellyum install iscsi-initiator-utils
修改配置文件
shellvim /etc/iscsi/initiatorname.iscsi
shellvim /etc/iscsi/iscsid.conf[!tip]
这步允许跳过
启动iscsid服务并设置服务开机自启,查看服务状态
shellsystemctl start iscsid systemctl enable iscsid systemctl status iscsid
侦测target
如果我们事先不知道目标主机的target名称,我们就需要进行侦测,下面来讲解 【
-m discovery】侦测target 【-t sendtargets】通过iscsi协议 【-p IP:port】指定target的IP和port,不写port的话,默认是3260shelliscsiadm -m discovery -t sendtargets -p 192.168.0.3
登录target建立连接
shelliscsiadm -m node --login
查看连接情况
shelliscsiadm -m session -o show
步骤5、磁盘操作(Host2)
确认分区情况,可看出从目标服务器提供的添加的新设备为
sdashellfdisk -l
创建标签
shellparted --script /dev/sda "mklabel msdos"
创建分区
shellparted --script /dev/sda "mkpart primary 0% 100%"
格式化分区
shellmkfs.xfs -i size=1024 -s size=4096 /dev/sda1
挂载分区
shellmkdir /music mount /dev/sda1 /music/
查看系统挂载情况
shelldf -h