OpenStack云平台管理

OpenStack云平台管理

文章目录

  • OpenStack云平台管理
    • 资源列表
    • 基础环境
    • 一、部署Openstack
    • 二、创建网络和路由
      • 2.1、删除默认的网络
      • 2.2、创建网络和路由
        • 2.2.1、创建外部网络
        • 2.2.2、创建内部网络
      • 2.3、创建路由
    • 三、创建实例
      • 3.1、配置实例
      • 3.2、配置NAT转换
    • 四、绑定浮动IP地址
    • 五、添加安全组规则
    • 六、创建密钥对
    • 七、创建及使用挂在卷
    • 八、快照管理
      • 8.1、基于实例的快照
      • 8.2、基于卷的快照
    • 九、创建镜像

资源列表

操作系统配置主机名IP磁盘版本
CentOS 7.910C12Gopenstack192.168.93.109100GTrain版本

基础环境

  • 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
  • 关闭内核安全机制
setenforce 0
sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config
  • 修改主机名
hostnamectl set-hostname openstack

一、部署Openstack

  • 可参考上节文档进行安装,安装完成后使用管理员账号登录openstack的Web控制台

二、创建网络和路由

  • 通过packstack部署openstack环境成功后,默认已经配置了网络、路由、实例类型以及镜像等功能,并且可以直接使用,以方便直接体验openstack。本章主要带领读者学习openstack各功能的实现方法。所以首先删除默认创建的网络,再重新创建新的网络

2.1、删除默认的网络

  • openstack安装完成后默认会有两个网络,分别是外部网络public(172.24.4.0/24)、内部网络private(10.0.0.0/24).外部网络不能直接删除,会提示报错西悉尼,原因是存在默认的路由器(demo项目)且已经连接到该网络。在删除之前应该首先删除连接该网络的路由器接口,或者直接删除存在的路由器。管理员用户登录openstack控制台后,无法在“项目”选项卡中配置demo项目下的路由器。需要进入“管理员”选项卡

  • 控制台依次单击“管理员”——“网络”——“路由”选项卡,选中虚拟路由器route1前面的复选框,并单击右上角的“删除路由”按钮
    在这里插入图片描述

  • 删除路由器后,依次单击“管理员”——“网络”——“网络”选项阿卡,选中默认存在的public和private网络,并单击右上角的“删除网络”按钮,删除默认存在的网络
    在这里插入图片描述

  • 至此,完成了网络和路由器的删除操作

2.2、创建网络和路由

  • 创建云主机之前,首先要创建用于连接云主机的内部网络,以及用于实现云主机访问外部网络和路由器和外部网络。创建步骤为线创建外部网络和内部网络以对应的子网,再创建路由器连接外部网络和内部网络。创建外部网只能在“管理员”——“网络”选项卡中操作,创建内部网络可以在“管理员”——“网络”——“网络” 或 “项目”——“网络”——“网络”选项卡中操作
2.2.1、创建外部网络
  • 依次单击“管理员”——“网络”——“网络”选项卡,完成后单击右上角“+创建网络”按钮,弹出创建网络界面,在“名称”字段填写pubilc,“项目”选择admin,“供应商网络类型”字段选择Flat,物理网络填写“extnet”,并**勾选“外部网络”**复选框。完成后单击“下一步”按钮
    在这里插入图片描述

  • 外部网络设置行完成后,在创建子网页面,依次填写**“子网名称”、“网络地址”和“网关IP”输入框。其中“网络地址处”为云主机所在的内部网络的IP地址段,可以由管理员自定定义。完成后单击“下一步”**按钮
    在这里插入图片描述

# 以本机的br-ex网卡进行填写
[root@openstack ~]# ifconfig br-ex
br-ex: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 172.24.4.1  netmask 255.255.255.0  broadcast 172.24.4.255inet6 fe80::44fb:fcff:febf:d45  prefixlen 64  scopeid 0x20<link>ether 46:fb:fc:bf:0d:45  txqueuelen 1000  (Ethernet)RX packets 5  bytes 140 (140.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 14  bytes 908 (908.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • 注意:“网关IP”字段为空表示默认使用网络中第一个IP地址,如X.X.X.1,也可以自行指定其他IP地址。如果不需要云主机通过该网络访问其他网络,可以勾选**“禁用网关”**复选框

  • 在**“子网详情”选项卡中,取消勾选“激活DHCP”复选框,其他字段可以保持默认设置,因为外部网络和云主机网络属于不同的网段,也不需要给云主机分配IP地址、DNS等参数。直接单击“创建”**按钮
    在这里插入图片描述

  • 页面将返回到public网络的子网列表页面,显示当前创建成功的子网信息
    在这里插入图片描述

2.2.2、创建内部网络
  • 外部网络创建成功后,下面开始创建内部网络。内部网络用于连接云主机实例,建立配置DHCP,用于向云主机分配网络参数

  • 依次单击**“项目”——“网络”——“网络”选项卡,页面中间将显示之前创建成功的外部网络“public”。单击右上角“+创建网络”按钮,开始创建内部网络。在弹出的创建网络页面,填写“网络名称”为private**,确保选中**“创建子网”**复选框,完成后单击“下一步“按钮
    在这里插入图片描述

  • 在接下来的**”子网“选项卡也买你,根据管理员规划,依次填写”子网名称“、”网络地址“以及”网关IP“输入框**。”网关IP输入框留空默认使用网路中第一个IP地址“。如果不需要该网络中的云主机访问外部网络,可以勾选”禁用网关“复选框。完成后单击**”下一步“**按钮
    在这里插入图片描述

  • 在**”子网详细“选项卡页面,确保勾选”激活DHCP“复选框,并填写”分配地址池“和”DNS服务器“**输入框。配置该网络可以向云主机分配IP地址和DNS地址。完成后单击”**创建“**按钮
    在这里插入图片描述

  • 完成后将返回网络列表页,显示当前已经创建成功的网络
    在这里插入图片描述

2.3、创建路由

  • 网络创建完成后,还需要创建路由器实现内部网络和外部网络之间的转发

  • 依次单击**”项目“——”网络“——”路由“选项卡,并单击页面右上角”+新建路由“按钮,在弹出的”新建路由“页面,填写”路由名称“输入框,并选择外部网络为之前创建的”public“。完成后,单击”新建路由“按钮,新创建的路由器默认开启SNAT功能**
    在这里插入图片描述

  • 完成后将返回路由列表页面。显示当前创建成功的路由器
    在这里插入图片描述

  • 成功创建路由并选择外部网络之后,将自动创建连接外部网络的接口,还需要创建连接内部网络的接口。单击路由器名称**”route“超链接**,进入路由详细信息页面。单击**”接口“选项卡,并单击页面右上角”+增加接口“按钮。在弹出的”增加接口“页面中,”子网“下拉菜单选择之前创建成功的内部网络”private:192.168.93.0/24(private_subnet)“”IP地址“留空默默人为private网路中配置的网关地址**。完成后,单击”提交“按钮
    在这里插入图片描述

  • 页面将返回到路由器接口列表页面,显示当前的路由器接口。如果接口处于显示为”Down“可刷新页面,正常状态为”运行中“
    在这里插入图片描述

三、创建实例

3.1、配置实例

  • packstack一键部署openstack完成后,默认存在实例类型和镜像配置。实例类型的作用是对云主机进行资源限制。镜像用于生成云主机操作系统。当存在网络、路由、实例类型以及镜像之后,就可以创建云主机了。不过在创建之前,要线检查下**”项目“——”计算“——”镜像“**选项卡下的cirros这个镜像的大小,正常大小为几十兆。如果为几百K,参考上一章文档进行替换

  • 依次单击**”项目“——”计算“——”实例“选项卡,页面右边单击”创建实例“按钮,在弹出的创建实例页面,填写”实例名称“test**。完成后单击**”下一步“**按钮
    在这里插入图片描述

  • 在**”源“选项卡页面,”选择源“下拉菜单中选择”image“,创建新卷位置选择”不“(如果需要持久化,选择”是”)。在“可用配额”下面的镜像列表中,单击名称为“cirros01”**镜像右边的箭头,确保其位于已分配下面。完成后单击“下一步”按钮
    在这里插入图片描述

  • 在**“实例类型”选项卡页面中间区域,单击资源占用最少的“m1.tiny”实例类型右边的箭头,确保其位于已分配下面。完成后单击“下一步”**按钮
    在这里插入图片描述

  • 在**“网络”选项卡页面中间,单击之前创建的内部网络“private”**右边的箭头,确保其位于已分配下面

  • **“安全组”**选项默认勾选

  • 当完成**“详情”“源“”实例列表“”网络“四个必须选项卡之后,其他可选配置选项卡可保持默认,直接单击”创建实例“**按钮
    在这里插入图片描述

  • 页面将返回到实例列表也买你,并基于之前的配置创建实例,创建的实时信息可查看”认为有“一栏中的动态显示内容。创建成功后云主机将获得一个IP地址
    在这里插入图片描述

  • 在实例**”test“**右边”创建快照“傍边的下拉菜单中选择”控制台“,进入云主机控制台,根据终端提示信息键入用户名和密码登录云主机控制台,并查看当前云主机的IP地址

  • 用户名:cirros 密码:gocubsgo
    在这里插入图片描述

  • 此时云主机是不能访问外网的
    在这里插入图片描述

宿主机的br-ex网卡用于连接opensatck虚拟网络,但是虚拟网络访问互联网必须经过宿主机的真实网卡ens33,宿主机在br-ex和ens33之间转发流量可以通过三种方式

  • 将ens33网卡加入br-ex网桥,取消ens33配置的IP地址,配置br-ex为宿主机外部网络的IP地址,这种方式需要修改外部网络public的网段地址

  • 开启宿主机的路由转发,通过路由转发数据,同时配置宿主机的回包路由

  • 配置宿主机的NAT功能,通过路由加地址转换转发数据,不需要回包路由,不需要修改现有网段

3.2、配置NAT转换

  • 下面基于第三种方式进行介绍。添加一条nat规则。为了避免重启规则小时,可以将其写道iptables配置文件。注意:-o ens33参数需要根据实际的宿主机网卡名称来配置。命令如下。–comment ”000 nat“表示添加注释文字
[root@openstack ~]# echo "1" > /proc/sys/net/ipv4/ip_forward
[root@openstack ~]# iptables -t nat -A POSTROUTING -s 172.24.4.0/24 -o ens33 -m comment --comment "000 nat" -j MASQUERADE
[root@openstack ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]
  • 再次测试云主机和互联网的连通性
    在这里插入图片描述

四、绑定浮动IP地址

  • 经过前面的配置,云主机已经可以访问外部网络,但是外部网络还不能访问云主机。无论是宿主机还是外部网络设备,都没有云主机网络的路由条目。根据之前的介绍,创建的虚拟路由器连接外部网络后默认启用SNAT(源地址转换)。若要访问NAT设备身后的网络,需要通过配置NAT映射或目录地址转换实现,即需要配置浮动IP地址

  • 依次单击**”项目“——”网络“——”浮动IP“选项卡,在页面右边单击”分配IP给项目“按钮,将弹出分配浮动IP页面,在页面中选择”资源池“”public“**,并单击”分配IP“按钮
    在这里插入图片描述

  • 页面将返回到浮动IP列表页面,显示成功分配的浮动IP地址列表
    在这里插入图片描述

  • 上图显示已经成功分配了IP地址172.24.4.154。下面将该浮动IP地址分配给云主机。单击浮动IP地址右边的”关联“按钮,并在弹出的”管理浮动IP的关联“页面中,选择”待连接的端口“下拉菜单,并选择”test“云主机。完成后单击”关联“按钮
    在这里插入图片描述

  • 根据浮动IP列表页面中的显示信息可得知,已经成功的将浮动IP地址和云主机绑定
    在这里插入图片描述

  • 切换到”项目“——”计算“——”实例“选项卡,可以看到云主机”test“绑定了浮动IP地址172.24.4.154
    在这里插入图片描述

  • 绑定浮动IP地址后,理论上可以从外部网络访问云主机,但是还需要配置安全组规则

五、添加安全组规则

  • 安全组的作用是保护云主机的安全,openstack有一个默认安全组default、从数据包方向分为入口和出口,访问云主机的入口流量必须要经过安全组规则放行流量

  • 依次单击**”项目“——”网络“——”安全组“选项阿卡,页面中间默认的安全组规则default,单击其右边的”管理规则“**按钮
    在这里插入图片描述

  • 在default安全组规则列表页面,默认存在四条规则
    在这里插入图片描述

  • 单击页面右上角**”+添加规则“按钮,在弹出的”添加规则“页面,选择”规则“为”ALL ICMP“,”方向“选择”入口“,其他保持默认,完成后单击”添加“**按钮
    在这里插入图片描述

  • 页面将返回到default安全组规则列表也买你,最后部分显示添加成功的安全组规则
    在这里插入图片描述

  • 配置完浮动IP地址和安全组规则后,尝试从外部网络(宿主机以外的网络,此处以宿主机代替)访问云主机。访问的目标云主机所绑定的浮动IP地址。测试的命令结果如下所示

[root@openstack ~]# ping 172.24.4.154
PING 172.24.4.154 (172.24.4.154) 56(84) bytes of data.
64 bytes from 172.24.4.154: icmp_seq=1 ttl=63 time=6.19 ms
64 bytes from 172.24.4.154: icmp_seq=2 ttl=63 time=0.969 ms
64 bytes from 172.24.4.154: icmp_seq=3 ttl=63 time=0.387 ms
^C
--- 172.24.4.154 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 0.387/2.517/6.195/2.611 ms
  • 为了可以让管理员从外部网络通过SSH协议管理云主机,同理与添加ICMP规则相同。通过添加规则,放行外部网络访问云主机的入口SSH协议流量。添加SSH规则页面入下图所示。
    在这里插入图片描述
    在这里插入图片描述

  • 管理员在宿主机尝试通过SSH命令远程登录云主机,测试命令及结果如下

[root@openstack ~]# ssh cirros@172.24.4.154
The authenticity of host '172.24.4.154 (172.24.4.154)' can't be established.
ECDSA key fingerprint is SHA256:Rx6vufr8QLw0DMtUdRYqnnEA64T8Dq7Wjtpnd7EphUM.
ECDSA key fingerprint is MD5:a1:ad:e5:18:20:18:dd:48:ef:2a:11:3e:ba:81:67:b7.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.24.4.154' (ECDSA) to the list of known hosts.
cirros@172.24.4.154's password:     # 密码gocubsgo
# 登录成功执行命令
$ ifconfig 
eth0      Link encap:Ethernet  HWaddr FA:16:3E:44:DB:9F  inet addr:192.168.93.172  Bcast:192.168.93.255  Mask:255.255.255.0inet6 addr: fe80::f816:3eff:fe44:db9f/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1442  Metric:1RX packets:125 errors:0 dropped:0 overruns:0 frame:0TX packets:183 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:14943 (14.5 KiB)  TX bytes:16879 (16.4 KiB)lo        Link encap:Local Loopback  inet addr:127.0.0.1  Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING  MTU:65536  Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

六、创建密钥对

  • 密钥对是openstack提供的一个安全认证功能,用户可以在创建云主机的时候选择添加密钥对,管理员在访问云主机的时候可以免密码登录。免密码登录并不意味着安全性的降低,因为密钥对的攻破难度比密码要大很多

  • 依次打开**“项目”——“计算”——“密钥对”选项卡,在密钥对列表单击“+创建密钥对”**按钮
    在这里插入图片描述

  • 在**“创建密钥对”页面,输入密钥对名称“my-auth”,密钥类型选择“SSH密钥”完成后单击“创建密钥对”**按钮
    在这里插入图片描述

  • 密钥对创建完成后,浏览器会自动下载my-auth.pem文件。my-auth.pem将是该云主机的私钥文件。通过云主机绑定该密钥对,并复制该私钥文件到管理端,从而实现远程免密码连接云主机。下面通过宿主机使用密钥登录云主机

  • 在宿主机上创建cirros用户并设置权限

[root@openstack ~]# useradd cirros
[root@openstack ~]# mkdir /home/cirros/.ssh
  • 将my-auth.pem文件上传到宿主机/home/cirros/.ssh目录下,重命名为id_rsa文件
[root@openstack ~]# mv /home/cirros/.ssh/my-auth.pem /home/cirros/.ssh/id_rsa
[root@openstack ~]# chmod 700 /home/cirros/.ssh/
[root@openstack ~]# chown -R cirros:cirros /home/cirros/.ssh/
[root@openstack ~]# chmod 600 /home/cirros/.ssh/id_rsa
  • 要使用密钥对,需要重新创建一台云主机。如果资源不够可删除之前创建的测试云主机。然后选择刚刚创建的密钥对,完成后随便绑定一个个浮动IP地址到云主机。尝试在宿主机使用密钥对登录云主机
    在这里插入图片描述
    在这里插入图片描述

  • 执行一下命令使用密钥对登录

# 浮动IP地址
[root@openstack ~]# su - cirros 
[cirros@openstack ~]$ ssh 172.24.4.241
The authenticity of host '172.24.4.241 (172.24.4.241)' can't be established.
ECDSA key fingerprint is SHA256:qEKn0GKP9sqQqKlZQ5rp0c0wZvjFNGLfo7f6TqbFlXQ.
ECDSA key fingerprint is MD5:bc:9d:36:0d:44:cd:00:f0:6b:73:72:4a:36:81:9f:90.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.24.4.241' (ECDSA) to the list of known hosts.
$ ifconfig 
eth0      Link encap:Ethernet  HWaddr FA:16:3E:AB:EE:95  inet addr:192.168.93.120  Bcast:192.168.93.255  Mask:255.255.255.0inet6 addr: fe80::f816:3eff:feab:ee95/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1442  Metric:1RX packets:95 errors:0 dropped:0 overruns:0 frame:0TX packets:142 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:12905 (12.6 KiB)  TX bytes:13714 (13.3 KiB)lo        Link encap:Local Loopback  inet addr:127.0.0.1  Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING  MTU:65536  Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)# 在上述命令中,通过ssh工具远程连接云主机没有输入任何密码信息,但是不具备私钥文件的客户端无法正常通过SSH协议远程连接云主机

七、创建及使用挂在卷

  • openstack通过Cinder提供块存储服务。管理员可根据需要对云主机添加卷。卷是一个块设备,由云主机挂载使用。本次的案例环境是一个单击环境。如果启用卷设备,那么Cinder将会占用所有的可用空间

  • 首先创建一个卷,依次打开“项目”——“卷”——“卷”选项卡,页面右边单击**“+创建卷”**按钮
    在这里插入图片描述

  • 在弹出的**”创建卷“页面中,填写卷名称为“test-lv”,大小为“2”,其他保持默认。完成后单击“创建卷”**按钮
    在这里插入图片描述

  • 页面将返回卷列表页面,显示当前创建成功的卷信息
    在这里插入图片描述

  • 卷创建好之后,还需要和实例管理才可以使用。单击上图中的**“编辑卷”旁边的下拉菜单,选择“管理连接”。在弹出的“管理已连接卷”页面,选择“连接到实例”为之前创建的云主机“test”。完成后单击“连接卷”**按钮
    在这里插入图片描述

  • 在随后的卷列表页面,显示当前卷已经连接到云主机test上的/dev/vdb设备
    在这里插入图片描述

  • 进入test云主机控制台,执行fdisk命令查看磁盘情况

$ sudo fdisk -l
Disk /dev/vda: 1 GiB, 1073741824 bytes, 2097152 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 92674365-8FD5-41C2-B173-9F3F1E3BA5A1Device     Start     End Sectors  Size Type
/dev/vda1  18432 2097118 2078687 1015M Linux filesystem
/dev/vda15  2048   18431   16384    8M EFI SystemPartition table entries are not in disk order.###################################################################
Disk /dev/vdb: 2 GiB, 2147483648 bytes, 4194304 sectors
###################################################################
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
  • 在云主机控制台中。对/dev/vdb进行分区、格式化,并挂载到/mnt目录
# 一路回车,步骤省略
$ sudo fdisk /dev/vdb
$ sudo mkfs /dev/vdb1
mke2fs 1.44.5 (15-Dec-2018)
Creating filesystem with 524032 4k blocks and 131072 inodes
Filesystem UUID: 851b4a73-8fd8-4f11-b2f5-9e3ae7e00804
Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912Allocating group tables: done                            
Writing inode tables: done                            
Writing superblocks and filesystem accounting information: done 
$ sudo mount /dev/vdb1 /mnt/
$ df -hT
Filesystem           Type            Size      Used Available Use% Mounted on
/dev                 devtmpfs      231.7M         0    231.7M   0% /dev
/dev/vda1            ext3          985.9M     31.4M    922.9M   3% /
tmpfs                tmpfs         238.8M         0    238.8M   0% /dev/shm
tmpfs                tmpfs         238.8M     80.0K    238.7M   0% /run
/dev/vdb1            ext2            2.0G      3.0M      1.9G   0% /mnt
  • 在/mnt目录写入一个test.txt文件
$ sudo vi /mnt/test.txt
2G
$ sudo cat /mnt/test.txt 
2G
  • 注意:创建卷的时候指定的容量大小并不会立即占用磁盘空间,当卷中有数据时才会真正占用

  • 当云主机的卷空间不足时,需要对卷进行扩容,扩容之前首先对卷进行分离,在卷列表页面中单击卷的**“管理连接”,在弹出的“管理已连接卷”页面,单击卷对应的“分离卷”**按钮
    在这里插入图片描述

  • 在确认分类卷页面继续单击**“分离卷”**按钮
    在这里插入图片描述

  • 当前卷断开后,在对应的下拉菜单中选择**“扩展卷”。在弹出的扩展卷页面中,填写卷的新大小为“3”.完成后单击“扩展卷”**按钮
    在这里插入图片描述

  • 返回到卷列表页面,页面中卷大小信息已经更新为3G
    在这里插入图片描述

  • 继续在卷对应的下拉菜单中选择**“管理连接”,重新连接到云主机实例“test”**
    在这里插入图片描述

  • 登录test云主机控制台,尝试访问之前创建的test.txt文件,test.txt文件已经不存在。同时,新出现了vdc分区,其大小为3G,执行以下命令和结果如下所示

$ ls /mnt/test.txt
ls: /mnt/test.txt: Input/output error
$ sudo fdisk -l
Disk /dev/vda: 1 GiB, 1073741824 bytes, 2097152 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 92674365-8FD5-41C2-B173-9F3F1E3BA5A1Device     Start     End Sectors  Size Type
/dev/vda1  18432 2097118 2078687 1015M Linux filesystem
/dev/vda15  2048   18431   16384    8M EFI SystemPartition table entries are not in disk order.Disk /dev/vdc: 3 GiB, 3221225472 bytes, 6291456 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x1dc7a442Device     Boot Start     End Sectors Size Id Type
/dev/vdc1        2048 4194303 4192256   2G 83 Linux
  • 扩展后多出的1G的空间默认没有被分区。即只扩展了磁盘大小,并没有改变分区大小。卸载/dev/vdb1分区,挂载/dev/vdc1分区。完成后查看test.txt内容正常。为了使用新扩展的1G空间,需要重启云主机
$ sudo umount -l /mnt
$ sudo mount /dev/vdc1 /mnt
$ sudo cat /mnt/test.txt 
2G
$ sudo reboot
  • 云主机启动后,卷将被重新识别为/dev/vdb,需要重新挂载使用。新增加的/dev/vdb2分区还需要格式化才能挂载使用
$ sudo mkdir /data
$ sudo fdisk /dev/vdb
$ sudo mkfs /dev/vdb2
$ sudo mount /dev/vdb2 /data/
$ sudo mount /dev/vdb1 /mnt/
$ df -hT
Filesystem           Type            Size      Used Available Use% Mounted on
/dev                 devtmpfs      231.7M         0    231.7M   0% /dev
/dev/vda1            ext3          985.9M     31.4M    922.9M   3% /
tmpfs                tmpfs         238.8M         0    238.8M   0% /dev/shm
tmpfs                tmpfs         238.8M     76.0K    238.7M   0% 
/run
###################################################################
/dev/vdb2            ext2         1007.9M      1.3M    955.4M   0% /data
/dev/vdb1            ext2            2.0G      3.0M      1.9G   0% /mnt
###################################################################

八、快照管理

  • 快照可以分为基于实例的快照和基于卷的快照两种类型。实例快照保存在Glance中,而卷快照保存在本地存储

8.1、基于实例的快照

  • 需要注意所需实例要不带或者先卸载卷,若带卷会导致实验失败

  • 首先在当前云主机创建一个test.txt文件,并且写入内容

$ echo test > test.txt
$ cat test.txt 
test
$ ifconfig 
eth0      Link encap:Ethernet  HWaddr FA:16:3E:AB:EE:95  inet addr:192.168.93.172  Bcast:192.168.93.255  Mask:255.255.255.0inet6 addr: fe80::f816:3eff:feab:ee95/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1442  Metric:1RX packets:381 errors:0 dropped:0 overruns:0 frame:0TX packets:383 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:37682 (36.7 KiB)  TX bytes:37290 (36.4 KiB)lo        Link encap:Local Loopback  inet addr:127.0.0.1  Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING  MTU:65536  Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
  • 然后创建一个实例快照,通过该实例快照启动一个全新的云主机。首先在**“实例列表”**页面,单击实例test01(使用任意没有挂载卷的云主机即可)对应的“创建快照”按钮
    在这里插入图片描述

  • 在弹出的“创建快照”页面,输入快照名称“test-snap”,并单击“创建快照”按钮
    在这里插入图片描述

  • 也买你将自动进入**“镜像”**页面,并在列表的最后生成一个新的镜像,其状态可能一直处于排队状态,可刷新页面解决
    在这里插入图片描述

  • 实例快照创建完成之后,通过该快照重新生成云主机。单击镜像后面的**“启动”按钮,在弹出的“创建实例”页面,实例名称添加“test01”。在“源”选项卡页面中,“选择源”下拉列表选择“实例快照”,并在下面选择名称“test-snap”**的快照,其他配置参数前面的步骤。完成后单击“创建实例”按钮
    在这里插入图片描述

在这里插入图片描述

  • 登录test01云主机控制台
[root@openstack ~]# ssh cirros@172.24.4.66
cirros@172.24.4.66's password: 		# 密码:gocubsgo
$ cat test.txt
test
# 上述命令输出结果显示,通过实例快照创建的云主机 test01和云主机test数据一致

8.2、基于卷的快照

  • 删除之前创建的**“test01”云主机,重新创建云主机“test01”,在云主机创建过程中在“源”选项卡页面选择“创建新卷”,大小1GB。创建完成后在”项目“——”卷“——”卷“**页面中出现一个新的卷,实例test01将存储在Cinder块里

  • 其他配置参考上面的步骤
    在这里插入图片描述
    在这里插入图片描述

  • 登录test01云主机控制台,创建一个test.txt文件,写入test01内容如下

[root@openstack ~]# ssh cirros@172.24.4.3
cirros@172.24.4.3's password: 	# 密码:gocubsgo
$ echo "test01" > test.txt
$ cat test.txt 
test01
  • 进入**”项目“——”卷“——”卷“页面,对上面的卷做一个快照,在编辑卷右侧下拉框选择”创建快照“,名称叫做”test01-lv-snap“,创建过程中会提示”这个卷已经被连接到某个实例了“。正确的做是先将卷分离出来,再创建卷快照。因为test01云主机是实现环境并且没有应用对卷实时写入文件,所以忽略该提示。直接单击”创建卷快照(强制)“**按钮
    在这里插入图片描述

  • 在卷快照列表页面可以看到创建成功的快照信息
    在这里插入图片描述

  • 通过该卷快照,在创建卷右侧下拉框选择**”创建实例“,实例名称”test02“,在”源“页面选择”卷快照“**,完成后登录test02云主机控制台执行如下命令

[root@openstack ~]# ssh cirros@172.24.4.100
cirros@172.24.4.100's password: 	# 密码:gocubsgo
$ cat test.txt
test01
$ ifconfig 
eth0      Link encap:Ethernet  HWaddr FA:16:3E:EE:18:7E  inet addr:192.168.93.126  Bcast:192.168.93.255  Mask:255.255.255.0inet6 addr: fe80::f816:3eff:feee:187e/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1442  Metric:1RX packets:128 errors:0 dropped:0 overruns:0 frame:0TX packets:158 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:15933 (15.5 KiB)  TX bytes:15881 (15.5 KiB)lo        Link encap:Local Loopback  inet addr:127.0.0.1  Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING  MTU:65536  Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
  • 上述命令显示,通过卷快照生成的云主机除了IP地址外,和之前的云主机内容一致。同时,在卷列表页面将会多出一个test02使用的卷
    在这里插入图片描述

  • 无论是实例快照还是卷快照,都可以用来生成全新的云主机,在生产环境中通常通过快照对云主机进行备份或迁移

九、创建镜像

  • 本次使用的是官方下载的CentOS镜像(CentOS-7-x86_64-GenericCloud-1802.qcow2)。依次打开**”管理员“——”计算“——”镜像“选项卡页面,单击”创建镜像“按钮,填写镜像名称,在”文件“位置通过浏览器选择下载的镜像文件,镜像格式选择”QCOW2-QEMU模拟器“,完成后单击”创建镜像“**按钮
    在这里插入图片描述

  • 创建过程会出现进度条,创建成功页面如图
    在这里插入图片描述

  • 镜像导入成功后,可以通过该镜像生成基于CentOS 7操作系统的云主机,需要注意,要同时给该镜像选择或创建适合的实例类型。可以通过密钥对的方式免密码登录基于该镜像的语和主机,默认存在centos用户。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/348815.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# WinForm —— 34 ToolStrip 工具栏 介绍

1. 简介 工具栏 ToolStrip&#xff0c;一般紧贴在菜单栏下面 2. 属性 属性解释(Name)控件ID&#xff0c;在代码里引用的时候会用到Enabled控件是否启用Dock定义要绑定到容器的控件边框&#xff0c;默认是topAnchor定义某个控件绑定到的容器的边缘。当控件锚定到某个边缘时&a…

分类模型:MATLAB判别分析

1. 判别分析简介 判别分析&#xff08;Discriminant Analysis&#xff09; 是一种统计方法&#xff0c;用于在已知分类的样本中构建分类器&#xff0c;并根据特征变量对未知类别的样本进行分类。常见的判别分析方法包括线性判别分析&#xff08;Linear Discriminant Analysis, …

韩顺平0基础学java——第22天

p441-459 异常exception 选中代码块&#xff0c;快捷键ctraltt6&#xff0c;即trt-catch 如果进行了异常处理&#xff0c;那么即使出现了异常&#xff0c;但是会继续执行 程序过程中发生的异常事件分为两大类&#xff1a; 异常体系图※ 常见的运行异常&#xff1a;类型转换…

EFuse概念解析

EFuse概念解析 EFUSE Key Parameter iNOM 代表的是&#xff0c;Efuse运行时候的电流 tNOM 代表的是&#xff0c;Efuse电流与时间的曲线 INOM通过VOC_Thrs设置 VOC_THRS VOC_THRS/Rsense Vsense采样小于VOC_THRS时候不动作 Vsense采样大于VOC_THRS时候根据Efuse_I2T曲线来…

平时的财经日历会影响黄金现货走势吗?

现货黄金的价格走势会受到诸多因素的影响&#xff0c;比如在财经日历上&#xff0c;美国的非农就业报告、GDP、利率公告、通胀数据等新闻和经济公告&#xff0c;都可能会对市场产生重大影响&#xff0c;尤其是当这些数据与市场预期不符的时候。所以比起单纯地进行技术分析和图表…

【C++ | 移动构造函数】一文了解C++11的 移动构造函数

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; ⏰发布时间⏰&#xff1a;2024-06-12 2…

Linux基础IO【II】真的很详细

目录 一.文件描述符 1.重新理解文件 1.推论 2.证明 2.理解文件描述符 1.文件描述符的分配规则 3.如何理解文件操作的本质&#xff1f; 4.输入重定向和输出重定向 1.原理 2.代码实现重定向 3.dup函数 ​编辑 4.命令行中实现重定向 二.关于缓冲区 1.现象 …

【学习笔记】Linux

Linux 1、 介绍 1.1、概述 1.2、特点 1.3、Linux的发行版2、 基础篇 —— 文件系统 2.1、文件系统 2.2、目录结构3、 基础篇 —— VI/VIM 编辑器 3.1、概述 3.2、编辑器模式及常用命令4、 基础篇 —— 网络配置 4.1、VMware NetWork …

电路笔记 : 嘉立创EDA 导入、查找、设计管理器(快速寻找网络标签)功能+DRC错误检查和处理

导入功能 查找功能 可查找多种类型&#xff0c;如原件名称、网络标签等 设计管理器 图层查看 DRC错误 规则设置 线距问题 大多数PCB制造商能够可靠地生产5 mil间距的走线和间隙。这是一个常见的标准&#xff0c;适合大多数消费级和工业级电子产品。在5 mil以上的间距&#xff…

Android APP memory统计方法

目录 进程的内存信息概述 关键的术语 测试步骤 测试步骤 数据处理 数据分析&#xff1a; 进程内存信息 Dumpsys meminfo -a PID Procrank Procmem PID 特殊内存信息 Mali ION(multi-media&#xff0c;gralloc) 进程地址空间信息 /proc/pid/smaps Showmap PID …

计算机网络 —— 运输层(TCP三次握手)

计算机网络 —— 运输层&#xff08;TCP三次握手&#xff09; 三次握手第一次握手第二次握手第三次握手两次握手行不行&#xff1f; 我们今天来学习TCP的三次握手&#xff1a; 三次握手 TCP三次握手是TCP协议中建立连接的过程&#xff0c;旨在确保双方准备好进行可靠的通信。…

【HarmonyOS】鸿蒙入门学习

一、开发前的准备 &#xff08;一&#xff09;HarmonyOS 开发套件介绍 &#xff08;二&#xff09;开发者主要使用的核心套件 主要为代码开发阶段会使用到的 DevEco Studio、ArkTS、ArkUI三个工具。 &#xff08;三&#xff09;熟悉鸿蒙官网 1、网址 https://developer.hua…

第P10周:Pytorch实现车牌识别

第P10周&#xff1a;Pytorch实现车牌识别 &#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 在之前的案例中&#xff0c;我们多是使用datasets.ImageFolder函数直接导入已经分类好的数据集形成Dataset&#xff…

创建节约机关怎样向媒体投稿报道宣传?

创建节约机关并向媒体投稿报道宣传是一项重要的工作&#xff0c;它不仅能够提升机关的形象&#xff0c;还能促进社会各界对节约型社会的认识和支持。 作为一名新晋信息宣传员,初入职场的我满腔热血,怀揣着用文字传递价值的理想,却在投稿的道路上屡遭波折。面对每月的宣传任务,我…

自动控制原理【期末复习】(二)

无人机上桨之后可以在调试架上先调试&#xff1a; 1.根轨迹的绘制 /// 前面针对的是时域分析&#xff0c;下面针对频域分析&#xff1a; 2.波特图 3.奈维斯特图绘制 1.奈氏稳定判据 2.对数稳定判据 3.相位裕度和幅值裕度

飞腾派初体验(2)

水个字数&#xff0c;混个推广分&#xff0c;另外几个点还是想吐槽一下 - 1&#xff0c;上篇文章居然没有给开发板一个硬照&#xff0c;补上 - 飞腾派 自拍 2. 现在做镜像用Win32DiskImager的多吗&#xff1f;我记得当年都是dd命令搞定&#xff0c;玩树莓派的应该记得这个命令…

linuxcentos将本地库JAR/arr批量导入到Nexus3.x

背景 我们现在要搞一个私服maven来管理对应的依赖包&#xff0c;需要上传包。用nexus只能单个文件搞&#xff0c;批量导入不行&#xff0c;而且还要单独配置groupID什么的。不多BB,上教程 建脚本 vi mavenimport.sh内容是这个 #!/bin/bash # copy and run this script to t…

6.13--CSS

行内样式 <!DOCTYPE html> <html lang"en"> <head> <title>This is title</title> </head> <body> <p style"font-size: 16px; color: red;">大家好</p> </body> </html> 内部样式表…

piRNA-疾病研究最新综述 – 数据库、软件工具、webserver和计算模型

piRNA被世界顶尖科学期刊《Science》评为2006年年度十大科学突破之一。之后有关piRNA的研究也成为CNS文章的常客。 2022年6月7日发表在Briefings in Bioinformatics上的这篇综述为我们整理了39个piRNA特异性和非特异性数据库及生物信息学资源&#xff1b;并根据piRNA的功能&…