金鱼哥RHCA回忆录:CL210管理存储--管理临时和持久存储
🎹 个人简介:大家好,我是 金鱼哥,CSDN运维领域新星创作者,华为云·云享专家,阿里云社区·专家博主
📚个人资质:CCNA、HCNP、CSNA(网络分析师),软考初级、中级网络工程师、RHCSA、RHCE、RHCA、RHCI、ITIL😜
💬格言:努力不一定成功,但要想成功就必须努力🔥🎈支持我:可点赞👍、可收藏⭐️、可留言📝
📜临时存储与持久存储
下表列出了临时存储和持久存储之间的主要区别单位。
临时存储单元和持久存储单元的比较
区别 | 临时存储 | 持久存储 |
---|---|---|
存在 | 在创建实例时创建。 | 在成功执行用户的APl请求时创建。 |
持久性 | 在实例终止后不存在 | 实例终止后持续存在,直到租户用户手动删除它。 |
速度和延迟 | 当使用直接附加的存储进行验证时,提供更低的延迟和更好的响应能力。 | 提供更高的延迟,但能够处理更大的I/O工作负载。 |
最大容量 | 取决于可用的存储容量。 | 取决于存储容量适用的项目配额。 |
分级 | 使用实例风格的属性执行。 | 根据用户的请求执行。 |
当一个用户使用镜像创建一个实例时,该实例仅有的初始存储是临时存储,它有自己的优点和缺点,它是一种非常简单且易于使用的存储资源,缺乏存储分层和磁盘容量扩展等高级特性。存储在临时存储中的任何数据在其实例终止后都将失效。短暂的设备生命周期由OpenStack计算服务管理。
另一方面,持久性存储是在实例被终止之后仍然存在的卷。存储在持久卷中的数据即使在删除了在其上创建数据的实例之后仍然存在。它支持存储分层和容量扩展特性。持久存储根据它所服务的存储需求类型,由块存储、对象存储和共享文件系统服务管理。
📜临时存储和LIBVIRT
计算服务使用Red Hat Enterprise Linux主机的本地libvirt虚拟化平台,并在该平台上安装KVM作为管理程序,以管理后端实例的生命周期。这些实例作为KVM虚拟机存在,并且任何租户用户的APl指令都将通过Libvirt计算驱动程序转换为libvirtd服务。libvirtd服务然后根据用户的指令在虚拟机上执行操作。例如,如果用户提交通过OpenStack计算服务APl(本机libvirtd)启动实例的请求,计算节点的服务执行所需的操作来定义KVM虚拟机,并通过计算服务API确认用户的请求。
flavor决定了每个实例的大小。OpenStack计算服务的默认设置允许实例使用来自管理程序系统的计算和存储资源。但是,在实践中,实例使用共享存储池来支持它们的临时存储需求。flavor属性包括vcpu的数量、内存量。交换内存的数量、实例磁盘的大小和实例的额外临时磁盘大小,作为flavor定义的一部分创建的存储单元本质上都是临时的。
默认情况下,计算服务在计算节点的/var/lib/nova/instance/uuid/目录下创建表示临时存储的后端对象文件。如果Red Hat Ceph存储被用作OpenStack计算服务的后端存储提供者,后端对象存储在Ceph池中,通常被命名为vms。使用Ceph存储作为OpenStack计算服务的后端存储提供商并不会将临时存储转换为持久存储,理解这一点至关重要。当实例被删除时,临时存储将继续被撤销,而不管它是否被本地容纳在计算节点中,或者它是否使用了来自外部后端存储提供者(如Red Hat Ceph storage)的集中式存储池。
📜选择实例存储选项
在根据IOPS需求、性能需求和影响运行工作负载的管理需求等因素提供临时存储实例时,主要使用三种策略。策略包括:
📑在单独的服务器上运行具有共享文件系统的计算节点。
这种方法导致实例在与计算节点分离的节点上运行,节点的磁盘与计算节点分离。在这种情况下,如果计算节点执行有意或无意的操作而脱机,并且它们没有任何正在运行的实例,那么云的其余部分将不会受到影响。由于存储功能与计算节点解耦,存储服务器将继续正常运行,并向云的其余部分提供存储资源。
这种方法的优点之一是在计算节点故障期间很容易恢复实例、伸缩存储容量的灵活性以及专用存储系统的操作简单性。虽然使用此策略有优点,但也有缺点,比如由于网络访问存储而导致性能下降,以及由于来自其他不相关实例的流量而对性能造成I/O的影响。
📑在计算节点上运行具有共享文件系统的计算节点。
此选项要求每个计算节点都具有可观的存储容量。分布式文件系统是跨计算节点配置的,允许将它们的每个存储容量贡献给单个单元,并用作单个挂载点。如果环境需要,此选项允许OpenStack使用第三方存储解决方案进行伸缩。
此选项的缺点之一是,可以添加的最大磁盘数量限制在计算节点的机箱大小所允许的范围内。此外,存储资源的可用性随着计算节点的功能性数量的增加而减少。
📑运行没有共享文件系统的计算节点。
在这种方法中,计算节点为本地存储实例的磁盘。这种方法允许实例直接在磁盘上执行I/O操作,而不涉及到网络。从而提高了性能。
但是,在这种方法中,计算节点实例上的数据在节点发生故障时变得不可恢复。没有可伸缩性选项来服务额外的存储需求。即使您垂直伸缩计算节点的容量,也将被限制为节点的机箱大小所允许的最大容量。
在与计算节点解耦的存储服务器上运行共享文件系统的策略非常适合以可靠性和可伸缩性为优先级的情况。另一方面。如果您更关心存储性能,而不太关心数据持久性,那么您可以坚持前面提到的第二或第三种策略。
与实例的临时存储一样,实例的持久存储也有自己的适用性和用例。持久存储在处理重用的数据时非常有用。在Red Hat OpenStack平台环境中,持久存储的实现包括来自块存储服务的卷、来自对象存储服务的对象容器和来自共享文件系统服务的共享。每个卷、对象容器和共享都满足特定的存储需求。卷主要供实例使用。卷不像特定容器那样具有广泛的访问权限,但在本机安全特性方面具有对象容器所不具有的更多范围。对象容器意味着容错,在面向服务的基础设施的设计中更常见。共享也是一个持久存储,实例可以使用NFS、CIFS、CephFS和GlusterFS等网络共享协议作为远程文件系统访问该共享。
📜创建持久根磁盘
实例镜像的内容可以提取到持久卷,就像您可以提取到实例的临时存储一样。但是,通过任何实例对根文件系统所做的任何更改都将存在,直到租户用户删除持久卷。这也是使用持久根文件系统构造相同实例的一种方法。
下面的命令允许您创建包含根文件系统内容的持久卷。
前面的命令创建一个卷demo-vol,其大小设置为10 GB。rhel7镜像用作要提取到卷中的根文件系统内容的源。可以使用openstack server create命令的 --volume选项引用这个卷,以使用持久根文件系统卷启动实例。
📜理解实例迁移
迁移实例意味着将虚拟机从一个计算节点移动到另一个计算节点。迁移可以帮助确保即使在计算节点失败的情况下,实例中运行的服务仍然可用。迁移还有助于执行计算节点的计划维护。
迁移的两种基本类型是冷迁移和实时迁移。在冷迁移中,实例被关闭,然后迁移到另一个计算节点。默认配置设置以及在计算节点之间交换的SSH公钥足以启动实例的非活动迁移。在计算节点之间交换SSH公钥可以确保每个节点中的libvirtd服务可以与其对等节点通信。这种通信导致创建一个隧道,实例迁移通过该隧道以一种安全(加密)的方式进行。
在实时迁移中,实例在迁移到另一个计算节点时继续运行。实时迁移非常适合停机时间最少到零的工作负载。这样的工作负载要求实例中的应用程序在没有潜在中断的情况下运行。实时迁移可进一步分为以下几类:
-
基于共享存储的实时迁移。在这种类型的迁移中,实例的内存中的数据被复制到目标计算节点。实例的临时存储容纳在源计算节点和目标计算节点共享的相同后端存储中,因此不需要将实例临时存储中的数据传输到目标计算节点。
-
块动态迁移。在这种类型的迁移中,实例的内存中的数据以及实例临时存储中的数据从一个计算节点移动到另一个计算节点。要求进行这种传输的原因是,源计算节点和目标计算节点不共享相同的后端存储以容纳实例的临时存储,而是由计算节点存储实例临时存储的本地副本。由于来自实例的内存页和临时存储的数据增加了网络负载,因此这种类型的迁移需要更长的时间才能完成。
-
Volume-backed动态迁移。这种类型的迁移涉及使用持久卷而不是临时磁盘的实例。在这种类型的迁移中,只有实例的内存中的数据被转移到目标计算节点,因为卷通常保存在存储节点中,不需要随实例一起移动。这样可以避免网络负载过重,并提高延迟。
📜课本练习
-
使用临时和持久根磁盘创建实例,并添加其他磁盘。
-
比较和对比不同磁盘的存储结构和位置。
[student@workstation ~]$ lab storage-compare setup
Setting up workstation for lab exercise work:
• Verifying project: finance.................................. SUCCESS
• Creating user env file: developer1-finance-rc............... SUCCESS
• Creating user env file: architect1-finance-rc............... SUCCESS
• Creating keypair: example-keypair........................... SUCCESS
. Verifying flavor: default................................... SUCCESS
. Verifying image: rhel7...................................... SUCCESS
. Verifying internal network: finance-network1................ SUCCESS
. Verifying subnet: finance-subnet1........................... SUCCESS
. Verifying external network: provider-datacentre............. SUCCESS
. Backing up Nova and Cinder config files..................... SUCCESS
. Creating router: finance-router1............................ SUCCESS
. Verifying security group: default........................... SUCCESS
. Verifying security group rule: tcp.......................... SUCCESS
. Verifying security group rule ICMP: icmp.................... SUCCESS
. Creating floating ip from provider-datacentre pool.......... SUCCESS
📑1. 在workstation上,启动finance项目中的finance-server1实例,并跟踪表示该实例存储的后端对象。
[student@workstation ~(architect1-finance)]$ openstack server create --flavor default --image rhel7 --key-name example-keypair --nic net-id=finance-network1 --availability-zone nova:compute1.overcloud.example.com --wait finance-server1
+-------------------------------------+-------------------------------------------------+
| Field | Value
+-------------------------------------+-------------------------------------------------+
| OS-DCF:diskConfig | MANUAL
| OS-EXT-AZ:availability_zone | nova
| OS-EXT-SRV-ATTR:host | compute1.overcloud.example.com
| OS-EXT-SRV-ATTR:hypervisor_hostname | compute1.overcloud.example.com
| OS-EXT-SRV-ATTR:instance_name | instance-00000002
| OS-EXT-STS:power_state | Running
| OS-EXT-STS:task_state | None
| OS-EXT-STS:vm_state | active
| OS-SRV-USG:launched_at | 2020-10-25T22:55:39.000000
| OS-SRV-USG:terminated_at | None
| accessIPv4 |
| accessIPv6 |
| addresses | finance-network1=192.168.1.4
| adminPass | W7ThHDx3ckZt
| config_drive |
| created | 2020-10-25T22:55:02Z
| flavor | default (e04380ed-b027-4a72-a697-4307bc014b6c)
| hostId | c439f7c83de10e6a305fc9bc9caefdef52c9f503e4aa5733eae8573c
| id | c83e851d-a0f0-478d-b36e-2edd286355ab
| image | rhel7 (6b0128a9-4481-4ceb-b34e-ffe92e0dcfdd)
| key_name | example-keypair
| name | finance-server1
| progress | 0
| project_id | 3c003f65d8d64914a053f178fbbf953c
| properties |
| security_groups | name='default'
| status | ACTIVE
| updated | 2020-10-25T22:55:39Z
| user_id | 69fb452af3dc1c1b54fb342df19d898fe3928e50cc930ebb8f112b1a59e91726
| volumes_attached |
+-------------------------------------+-------------------------------------------------+
developer1,查找finance-server1实例的惟一ID。请注意实例的惟一ID。您将在以下步骤中使用这个ID。
[student@workstation ~(architect1-finance)]$ source developer1-finance-rc
[student@workstation ~(developer1-finance)]$ openstack server list
+--------------------------------------+-----------------+--------+------------------------------+-------+---------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+-----------------+--------+------------------------------+-------+---------+
| c83e851d-a0f0-478d-b36e-2edd286355ab | finance-server1 | ACTIVE | finance-network1=192.168.1.4 | rhel7 | default |
+--------------------------------------+-----------------+--------+------------------------------+-------+---------+
将前面步骤中注意到的实例的惟一ID与Ceph池vm中的后端对象匹配。
[root@controller0 ~]# rados -p vms ls | grep c83e851d-a0f0-478d-b36e-2edd286355ab
rbd_id.c83e851d-a0f0-478d-b36e-2edd286355ab_disk
📑2. 删除finance-server1实例,并验证该实例的根磁盘不再存在于vms Ceph池中。
[student@workstation ~(developer1-finance)]$ openstack server delete finance-server1
[root@controller0 ~]# rados -p vms ls | grep c83e851d-a0f0-478d-b36e-2edd286355ab
📑3. 探索允许使用Ceph存储来容纳实例磁盘的OpenStack计算服务的配置设置。
使用Ceph存储作为后端或OpenStack计算服务可以避免计算节点的本地磁盘泛滥和出现可伸缩性问题。相反,它将磁盘存储到vms Ceph池中,并提供了与Ceph存储一样的更好的可伸缩性。
查看启用Ceph storage作为OpenStack计算服务的后端存储提供程序的设置。
[root@compute1 ~]# grep rbd /var/lib/config-data/puppet-generated/nova_libvirt/etc/nova/nova.conf
rbd_user=openstack
rbd_secret_uuid=fe8e3db0-d6c3-11e8-a76d-52540001fac8
images_type=rbd
images_rbd_pool=vms
images_rbd_ceph_conf=/etc/ceph/ceph.conf
📑4. 调整OpenStack计算服务的配置设置
以使用默认方法将实例磁盘存储在本地计算节点而不是Ceph存储上。启动一个实例并验证该实例的根磁盘是否在计算节点上本地存在。删除实例并验证该实例的根磁盘在compute节点上不再存在。
注释掉配置
[root@compute1 ~]# grep rbd /var/lib/config-data/puppet-generated/nova_libvirt/etc/nova/nova.conf
rbd_user=openstack
rbd_secret_uuid=fe8e3db0-d6c3-11e8-a76d-52540001fac8
#images_type=rbd
images_rbd_pool=vms
images_rbd_ceph_conf=/etc/ceph/ceph.conf
[root@compute1 ~]# docker ps --format="table {{.Names}}\t{{.Status}}"
NAMES STATUS
ovn_controller Up 19 hours
ovn_metadata_agent Up 19 hours (healthy)
logrotate_crond Up 19 hours
nova_compute Up 19 hours (healthy)
nova_migration_target Up 19 hours
ceilometer_agent_compute Up 19 hours
iscsid Up 19 hours
nova_libvirt Up 19 hours
nova_virtlogd Up 19 hours
[root@compute1 ~]# docker restart nova_compute
ova_compute
[root@compute1 ~]# docker ps --format="table {{.Names}}\t{{.Status}}" | grep nova
nova_compute Up 10 seconds (health: starting)
nova_migration_target Up 19 hours
nova_libvirt Up 19 hours
nova_virtlogd Up 19 hours
[root@compute1 ~]# docker ps --format="table {{.Names}}\t{{.Status}}" | grep nova
nova_compute Up About a minute (healthy)
nova_migration_target Up 19 hours
nova_libvirt Up 19 hours
nova_virtlogd Up 19 hours
作为architect1,使用以下参数启动实例。
[student@workstation ~(architect1-finance)]$ openstack server create --flavor default --image rhel7 --key-name example-keypair --nic net-id=finance-network1 --availability-zone nova:compute1.overcloud.example.com --wait finance-server1
+-------------------------------------+-------------------------------------------------+
| Field | Value
+-------------------------------------+-------------------------------------------------+
| OS-DCF:diskConfig | MANUAL
| OS-EXT-AZ:availability_zone | nova
| OS-EXT-SRV-ATTR:host | compute1.overcloud.example.com
| OS-EXT-SRV-ATTR:hypervisor_hostname | compute1.overcloud.example.com
…………
[student@workstation ~(developer1-finance)]$ openstack server list -c ID -c Name
+--------------------------------------+-----------------+
| ID | Name |
+--------------------------------------+-----------------+
| c5ddb2d0-0ad8-422d-affb-5f3fb3d234c6 | finance-server1 |
+--------------------------------------+-----------------+
[root@compute1 ~]# ll /var/lib/nova/instances/c5ddb2d0-0ad8-422d-affb-5f3fb3d234c6 -h
total 29M
-rw-------. 1 root root 43K Oct 26 00:20 console.log
-rw-r--r--. 1 qemu qemu 29M Oct 26 00:28 disk
-rw-r--r--. 1 42436 42436 79 Oct 26 00:19 disk.info
📑5. 删除finance-server1实例,并验证该实例的根磁盘在计算节点上不再存在。
[student@workstation ~(developer1-finance)]$ openstack server delete finance-server1
[root@compute1 ~]# ll /var/lib/nova/instances/
total 4
drwxr-xr-x. 2 42436 42436 54 Oct 25 06:55 _base
-rw-r--r--. 1 42436 42436 53 Oct 25 23:54 compute_nodes
drwxr-xr-x. 2 42436 42436 93 Oct 25 06:54 locks
📑6. 在前面的步骤中,您已经处理了一个实例的临时根磁盘。练习的以下步骤将帮助您了解如何在实例中使用持久根磁盘。
在controller0查看OpenStack Block存储服务的设置,它帮助使用Ceph存储来容纳持久卷。使用rhel7镜像创建一个持久卷。确认卷存在于卷Ceph池中。启动一个实例,将新卷作为它的根磁盘。
查看OpenStack块存储服务的后端存储提供程序。
[root@controller0 ~]# crudini --get /var/lib/config-data/puppet-generated/cinder/etc/cinder/cinder.conf DEFAULT enabled_backends
tripleo_ceph
查看OpenStack块存储服务配置文件的tripleo_ceph INI部分下的设置。
[root@controller0 ~]# egrep -A 6 '^\[tripleo_ceph\]' /var/lib/config-data/puppet-generated/cinder/etc/cinder/cinder.conf
[tripleo_ceph]
backend_host=hostgroup
volume_backend_name=tripleo_ceph
volume_driver=cinder.volume.drivers.rbd.RBDDriver
rbd_ceph_conf=/etc/ceph/ceph.conf
rbd_user=openstack
rbd_pool=volumes
作为developer1,使用rhel7镜像创建卷。验证卷是否成功创建。
[student@workstation ~(developer1-finance)]$ openstack volume create --size 10 --image rhel7 finance-vol1
+---------------------+-----------------------------------------------------------------+
| Field | Value
+---------------------+-----------------------------------------------------------------+
| attachments | []
| availability_zone | nova
| bootable | false
| consistencygroup_id | None
| created_at | 2020-10-26T04:54:05.000000
| description | None
| encrypted | False
| id | c885e97f-b6fe-431a-ad11-44096ebc5b59
| multiattach | False
| name | finance-vol1
| properties |
| replication_status | None
| size | 10
| snapshot_id | None
| source_volid | None
| status | creating
| type | None
| updated_at | None
| user_id | e4035d555f6b88cf42ca4cacb9fa9999dca9787392222d2eb0875e4e34e6d76f
+---------------------+-----------------------------------------------------------------+
[student@workstation ~(developer1-finance)]$ openstack volume list
+--------------------------------------+--------------+-----------+------+-------------+
| ID | Name | Status | Size | Attached to |
+--------------------------------------+--------------+-----------+------+-------------+
| c885e97f-b6fe-431a-ad11-44096ebc5b59 | finance-vol1 | available | 10 | |
+--------------------------------------+--------------+-----------+------+-------------+
注意:在执行openstack卷创建命令之后,等待多两分钟,将rhel7镜像中的内容提取到finance-vol1卷。您还可以使用watch openstack volume list命令监视finance-vol1卷的实时状态。
从前面的openstack volume list命令的输出中复制卷的惟一ID,以便与卷Ceph池中的对象进行比较。唯一的ID帮助识别卷Ceph池容纳的卷。
验证Ceph池卷是否有一个表示卷finance-vol1的对象。使用前面步骤中提到的卷的惟一ID。
[root@controller0 ~]# rados -p volumes ls | grep c885e97f-b6fe-431a-ad11-44096ebc5b59
rbd_id.volume-c885e97f-b6fe-431a-ad11-44096ebc5b59
作为developer1,使用以下参数启动实例。
[student@workstation ~(developer1-finance)]$ openstack server create --flavor default --volume finance-vol1 --key-name example-keypair --nic net-id=finance-network1 --wait finance-server2
+-----------------------------+---------------------------------------------------------+
| Field | Value
+-----------------------------+---------------------------------------------------------+
| OS-DCF:diskConfig | MANUAL
| OS-EXT-AZ:availability_zone | nova
| OS-EXT-STS:power_state | Running
| OS-EXT-STS:task_state | None
| OS-EXT-STS:vm_state | active
| OS-SRV-USG:launched_at | 2020-10-26T05:08:45.000000
| OS-SRV-USG:terminated_at | None
| accessIPv4 |
| accessIPv6 |
| addresses | finance-network1=192.168.1.9
| adminPass | s8UVkizYRwV5
| config_drive |
| created | 2020-10-26T05:08:31Z
| flavor | default (e04380ed-b027-4a72-a697-4307bc014b6c)
| hostId | 3eb57302ddddc3af1fdc763eee541c699f0866f6458e3b5c9a722611
| id | 00339279-d1df-4dea-a655-489055744ba3
| image |
| key_name | example-keypair
| name | finance-server2
| progress | 0
| project_id | 3c003f65d8d64914a053f178fbbf953c
| properties |
| security_groups | name='default'
| status | ACTIVE
| updated | 2020-10-26T05:08:45Z
| user_id | e4035d555f6b88cf42ca4cacb9fa9999dca9787392222d2eb0875e4e34e6d76f |
| volumes_attached | id='c885e97f-b6fe-431a-ad11-44096ebc5b59'
+-----------------------------+---------------------------------------------------------+
📑7. 使用任何可用的浮动IP地址访问新的实例finance-server2。创建一个包含任意文本的文本文件。删除实例。
[student@workstation ~(developer1-finance)]$ openstack floating ip list
+--------------------------------------+---------------------+------------------+------+--------------------------------------+----------------------------------+
| ID | Floating IP Address | Fixed IP Address | Port | Floating Network | Project |
+--------------------------------------+---------------------+------------------+------+--------------------------------------+----------------------------------+
| ad9cbb52-e609-468b-85e8-01b00a794925 | 172.25.250.103 | None | None | fc5472ee-98d9-4f6b-9bc9-544ca18aefb3 | 3c003f65d8d64914a053f178fbbf953c |
+--------------------------------------+---------------------+------------------+------+--------------------------------------+----------------------------------+
[student@workstation ~(developer1-finance)]$ openstack server add floating ip finance-server2 172.25.250.103
[student@workstation ~(developer1-finance)]$ ssh 172.25.250.103
Warning: Permanently added '172.25.250.103' (ECDSA) to the list of known hosts.
[cloud-user@finance-server2 ~]$ sudo -i
[root@finance-server2 ~]# echo Testing >> /test.txt
[root@finance-server2 ~]# sync
重要:sync命令将内容从Linux缓冲区缓存刷新到磁盘。跳过此命令可能会损失所创建的文本文件的内容。
[root@finance-server2 ~]# exit
logout
[cloud-user@finance-server2 ~]$ exit
logout
Connection to 172.25.250.103 closed.
[student@workstation ~(developer1-finance)]$ openstack server delete finance-server2
[root@controller0 ~]# rados -p volumes ls | grep c885e97f-b6fe-431a-ad11-44096ebc5b59
rbd_id.volume-c885e97f-b6fe-431a-ad11-44096ebc5b59
注意:无论实例终止与否,卷都存在。它充当实例的持久存储
📑8. 使用与实例的引导磁盘相同的finance-vol1创建一个新实例,并确认在前面步骤中使用任意文本创建的文件仍然存在。
[student@workstation ~(developer1-finance)]$ openstack server create --flavor default --volume finance-vol1 --key-name example-keypair --nic net-id=finance-network1 --wait finance-server2
+-----------------------------+---------------------------------------------------------+
| Field | Value
+-----------------------------+---------------------------------------------------------+
| OS-DCF:diskConfig | MANUAL
| OS-EXT-AZ:availability_zone | nova
| OS-EXT-STS:power_state | Running
| OS-EXT-STS:task_state | None
| OS-EXT-STS:vm_state | active
| OS-SRV-USG:launched_at | 2020-10-26T05:22:41.000000
| OS-SRV-USG:terminated_at | None
| accessIPv4 |
| accessIPv6 |
| addresses | finance-network1=192.168.1.5
| adminPass | KLzUjKwd8meR
| config_drive |
| created | 2020-10-26T05:22:29Z
| flavor | default (e04380ed-b027-4a72-a697-4307bc014b6c)
| hostId | 3eb57302ddddc3af1fdc763eee541c699f0866f6458e3b5c9a722611
| id | 80908fe1-b1d9-47ba-9cbc-0a86a4551d67
| image |
| key_name | example-keypair
| name | finance-server2
| progress | 0
| project_id | 3c003f65d8d64914a053f178fbbf953c
| properties |
| security_groups | name='default'
| status | ACTIVE
| updated | 2020-10-26T05:22:41Z
| user_id | e4035d555f6b88cf42ca4cacb9fa9999dca9787392222d2eb0875e4e34e6d76f
| volumes_attached | id='c885e97f-b6fe-431a-ad11-44096ebc5b59'
+-----------------------------+---------------------------------------------------------+
[student@workstation ~(developer1-finance)]$ openstack floating ip list
+--------------------------------------+---------------------+------------------+------+--------------------------------------+----------------------------------+
| ID | Floating IP Address | Fixed IP Address | Port | Floating Network | Project |
+--------------------------------------+---------------------+------------------+------+--------------------------------------+----------------------------------+
| ad9cbb52-e609-468b-85e8-01b00a794925 | 172.25.250.103 | None | None | fc5472ee-98d9-4f6b-9bc9-544ca18aefb3 | 3c003f65d8d64914a053f178fbbf953c |
+--------------------------------------+---------------------+------------------+------+--------------------------------------+----------------------------------+
[student@workstation ~(developer1-finance)]$ openstack server add floating ip finance-server2 172.25.250.103
[student@workstation ~(developer1-finance)]$ ssh 172.25.250.103
Last login: Mon Oct 26 01:13:33 2020 from workstation.lab.example.com
[cloud-user@finance-server2 ~]$ cat /test.txt
Testing
📑9. 创建容量为1 GB的新卷,并将其附加到finance-server2实例。
[student@workstation ~(developer1-finance)]$ openstack volume create --size 1 finance-vol2
+---------------------+-----------------------------------------------------------------+
| Field | Value
+---------------------+-----------------------------------------------------------------+
| attachments | []
| availability_zone | nova
| bootable | false
| consistencygroup_id | None
| created_at | 2020-10-26T05:49:35.000000
| description | None
| encrypted | False
| id | 8abbcf20-02ac-4cf2-831b-0f3d9dc72a64
| multiattach | False
| name | finance-vol2
| properties |
| replication_status | None
| size | 1
| snapshot_id | None
| source_volid | None
| status | creating
| type | None
| updated_at | None
| user_id | e4035d555f6b88cf42ca4cacb9fa9999dca9787392222d2eb0875e4e34e6d76f
+---------------------+-----------------------------------------------------------------+
[student@workstation ~(developer1-finance)]$ openstack server add volume finance-server2 finance-vol2
[student@workstation ~(developer1-finance)]$ ssh 172.25.250.103
Last login: Mon Oct 26 01:25:33 2020 from workstation.lab.example.com
[cloud-user@finance-server2 ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 10G 0 disk
└─vda1 253:1 0 10G 0 part /
vdb 253:16 0 1G 0 disk
📑10. 确认在表示finance-vo12卷的卷Ceph池中有一个新的卷对象。
[student@workstation ~(developer1-finance)]$ openstack volume list
+--------------------------------------+--------------+--------+------+------------------------------------------+
| ID | Name | Status | Size | Attached to |
+--------------------------------------+--------------+--------+------+------------------------------------------+
| 8abbcf20-02ac-4cf2-831b-0f3d9dc72a64 | finance-vol2 | in-use | 1 | Attached to finance-server2 on /dev/vdb |
| c885e97f-b6fe-431a-ad11-44096ebc5b59 | finance-vol1 | in-use | 10 | Attached to finance-server2 on /dev/vda |
+--------------------------------------+--------------+--------+------+------------------------------------------+
[root@controller0 ~]# rados -p volumes ls | grep 8abbcf20-02ac-4cf2-831b-0f3d9dc72a64
rbd_id.volume-8abbcf20-02ac-4cf2-831b-0f3d9dc72a64
📑11. 删除finance-server2实例。删除financial -vol1和financial -vol2卷。确认卷在卷Ceph池中不再存在。
[student@workstation ~(developer1-finance)]$ openstack server delete finance-server2
[student@workstation ~(developer1-finance)]$ openstack volume delete finance-vol1 finance-vol2
[root@controller0 ~]# rados -p volumes ls
rbd_directory
rbd_info
📑清除实验
[student@workstation ~]$ lab storage-compare cleanup
💡总结
RHCA认证需要经历5门的学习与考试,还是需要花不少时间去学习与备考的,好好加油,可以噶🤪。
以上就是【金鱼哥】对 第五章 管理存储–管理临时和持久存储+章节实验 的简述和讲解。希望能对看到此文章的小伙伴有所帮助。
💾红帽认证专栏系列:
RHCSA专栏:戏说 RHCSA 认证
RHCE专栏:戏说 RHCE 认证
此文章收录在RHCA专栏:RHCA 回忆录
如果这篇【文章】有帮助到你,希望可以给【金鱼哥】点个赞👍,创作不易,相比官方的陈述,我更喜欢用【通俗易懂】的文笔去讲解每一个知识点。
如果有对【运维技术】感兴趣,也欢迎关注❤️❤️❤️ 【金鱼哥】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💕💕!
- 点赞
- 收藏
- 关注作者
评论(0)