欢迎光临
我们一直在努力

OpenStack 创建并挂载存储卷

1.创建并挂载存储卷

创建一个1GB的卷

source ~/admin.sh
openstack volume create –size 1 volume1
很短的时间后,卷状态应该从creating 到available

[root@controller ~]# openstack volume list
+————————————–+———+———–+——+————-+
| ID | Name | Status | Size | Attached to |
+————————————–+———+———–+——+————-+
| 5e89f544-e204-436c-8d9c-25a77039796f | volume1 | available | 10 | |
+————————————–+———+———–+——+————-+
将卷附加到provider-vm1实例,可以在dashboard界面操作

openstack server add volume provider-vm1 volume1
查看卷清单

[root@controller ~]# openstack volume list

+————————————–+———+——–+——+——————————————+
| ID | Name | Status | Size | Attached to |
+————————————–+———+——–+——+——————————————+
| 75011e60-33fc-4061-98dc-7028e477efc9 | volume1 | in-use | 1 | Attached to selfservice-vm1 on /dev/vdb |
+————————————–+———+——–+——+——————————————+
使用SSH访问实例

使用fdisk命令验证该卷是否作为/dev/vdb块存储设备

[root@controller ~]# ssh cirros@192.168.0.198
$ sudo fdisk -l
分区并格式化新添加的/dev/vdb

$ sudo fdisk /dev/vdb
Command (m for help): n #创建一个新分区
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p #创建一个主分区
Partition number (1-4, default 1): #分区默认编号为1
First sector (2048-2097151, default 2048): #磁盘分区中第一个扇区(从哪里开始) 默认的
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-2097151, default 2097151): #磁盘分区中最后1个扇区的位置 默认全部
Command (m for help): w #保存
查看创建的主分区

$ ls /dev/vdb*
/dev/vdb /dev/vdb1
格式化 创建文件系统

$ sudo mkfs.ext4 /dev/vdb1
临时挂载

$ sudo mount /dev/vdb1 /mnt/
$ df -h|tail -1
/dev/vdb1 990.9M 2.5M 921.2M 0% /mnt
永久挂载

$ sudo su –
# echo ‘/dev/vdb1 /mnt/ xfs defaults 0 0’ >>/etc/fstab
2.使用卷创建实例报错的故障
从实例中分离cinder虚拟磁盘

umount卸载

openstack server remove volume provider-vm1 volume1
openstack volume delete volume1
删除无法删除的卷,用命令改变卷的状态,然后删除

cinder reset-state –state available
cinder delete
OpenStack创建实例提示失败的具体原因如下:

did not finish being created even after we waited 241 seconds or 61 attempts. A its status is downloading.

即使等待了241秒或61次尝试,仍无法完成创建。 其状态为下载中。
解决办法

在计算节点上的nova.conf中有一个控制卷设备重试的参数:block_device_allocate_retries,可以通过修改此参数延长等待时间。
该参数默认值为60,这个对应了之前实例创建失败消息里的61 attempts。我们可以将此参数设置的大一点,例如:180。这样Nova组件就不会等待卷创建超时,也即解决了此问题。
然后重启计算节点服务

openstack-config –set /etc/nova/nova.conf DEFAULT block_device_allocate_retries 180

systemctl restart libvirtd.service openstack-nova-compute.service
####################################
OpenStack Cinder服务为虚拟硬盘驱动器提供持久的块存储管理,通过OpenStack CLI和Horizo​​n Web界面,你可以管理块设备到服务器的创建、附加和分离,在本文中,我们将讨论如何创建、附加和分离Cinder卷到在OpenStack环境中运行的服务器。你需要为本文配置OpenStack CLI才能使用。

一、检查OpenStack Cinder服务

设置OpenStack Client后,请检查以确认所有Cinder服务正在运行,Cinder由以下组成:

1、openstack-cinder-volume,可根据需要为虚拟机创建存储空间,提供了许多驱动程序以与存储提供商进行交互。

2、openstack-cinder-api,它响应并处理请求,并将它们放在消息队列中。

3、openstack-cinder-scheduler,它将任务分配给队列并确定配置卷服务器。

使用以下命令确认这些服务的状态:

for i in volume api scheduler; do

systemctl status openstack-cinder-$i

done

示例输出,所有状态都应该正在运行:

二、创建Cinder卷

你需要配置Cinder存储后端并确认其正常工作,在我的设置中使用LVM后端:

$ pvs | grep cinder

/dev/nvme0n1p1 cinder-volumes lvm2 a– <476.94g 23.59g

$ vgs | grep cinder

cinder-volumes 1 4 0 wz–n- <476.94g 23.59g

使用以下命令语法创建Cinder卷:

$ openstack volume create –size

注:

是以GB为单位的卷大小,是要创建的卷的名称。

下面的示例将创建一个名为c4geeks-db-backups的卷,大小为30GB:

$ openstack volume create –size 30 c4geeks-db-backups

确认卷创建状态:

$ openstack volume list

我们可以确认已成功创建30GB大小的卷并可以使用,让我们将它附加到在OpenStack上运行的服务器上。

但首先,请提取虚拟机名称/ID:

$ openstack server list

将创建的卷附加到服务器:

openstack server add volume c4geeks-db-server c4geeks-db-backups

检查Cinder Volumes附件:

$ openstack volume list

三、在虚拟机上使用Cinder卷

登录到你的服务器并检查原始块设备是否可见:

$ lsblk /dev/vdc

我们现在分区并安装它:

sudo parted -s -a optimal -- /dev/vdc mklabel gpt

sudo parted -s -a optimal -- /dev/vdc mkpart primary 0% 100%

sudo parted -s -- /dev/vdc align-check optimal 1

sudo mkfs.xfs /dev/vdc1

sudo mkdir /data

echo "/dev/vdc1 /data xfs defaults 0 0" | sudo tee -a /etc/fstab

sudo mount -a

查看当前安装映射:

$ df -hT

96cbbcfeafc23aa8953e618de7981b6a.png

在日常操作中开始使用添加的Block存储。

四、从服务器中分离Cinder虚拟磁盘

要分离和删除磁盘,请在服务器上卸载它,然后运行:

openstack server remove volume c4geeks-db-server c4geeks-db-backups

openstack volume delete c4geeks-db-backups

至此,目的达到。

赞(0) 打赏
未经允许不得转载:运维那些事 » OpenStack 创建并挂载存储卷

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏