OpenStack cinder对接NFS后端存储

配置NFS服务

安装NFS服务

查询是否安装

[root@nfs ~]# rpm -qa |grep nfs
nfs-utils-1.3.0-0.8.el7.x86_64

如没有安装,执行以下命令

[root@nfs ~]# yum install -y nfs-utils

关闭防火墙及SELinux

[root@nfs ~]# setenforce 0
[root@nfs ~]# vi /etc/selinux/config
[root@nfs ~]# cat /etc/selinux/config

This file controls the state of SELinux on the system.

SELINUX= can take one of these three values:
    enforcing - SELinux security policy is enforced.

    permissive - SELinux prints warnings instead of enforcing.

    disabled - No SELinux policy is loaded.

SELINUX=disabled
[root@nfs ~]# systemctl stop firewalld
[root@nfs ~]# systemctl disable firewalld

创建共享目录

[root@nfs ~]# mkdir /nfs_share
[root@nfs ~]# lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0   50G  0 disk
├─sda1          8:1    0  500M  0 part /boot
└─sda2          8:2    0 49.5G  0 part
  ├─rhel-swap 253:0    0    2G  0 lvm  [SWAP]
  └─rhel-root 253:1    0 47.5G  0 lvm  /
sdb             8:16   0   50G  0 disk
└─sdb1          8:17   0   30G  0 part
sr0            11:0    1  3.6G  0 rom
[root@nfs ~]# mount /dev/sdb1 /nfs_share/
[root@nfs ~]# df -hT
Filesystem            Type      Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs        48G  1.1G   47G   3% /
devtmpfs              devtmpfs  985M     0  985M   0% /dev
tmpfs                 tmpfs     994M     0  994M   0% /dev/shm
tmpfs                 tmpfs     994M  8.4M  986M   1% /run
tmpfs                 tmpfs     994M     0  994M   0% /sys/fs/cgroup
/dev/sda1             xfs       497M  102M  395M  21% /boot
/dev/sdb1             xfs        30G   33M   30G   1% /nfs_share
[root@nfs ~]# chmod -R 777 /nfs_share/

修改配置文件

[root@nfs ~]# vi /etc/exports
[root@nfs ~]# cat /etc/exports
/nfs_share  192.168.100.0/24(rw)
## 重启服务
`bash
[root@nfs ~]# systemctl restart nfs-server.service

客户端测试挂载

使用控制节点测试挂载

[root@controller ~]# rpm -qa|grep nfs
nfs-utils-1.3.0-0.8.el7.x86_64
libnfsidmap-0.25-11.el7.x86_64
[root@controller ~]# systemctl start nfs
[root@controller ~]# mkdir /nfs_test
[root@controller ~]# mount -t nfs 192.168.100.40:/nfs_share /nfs_test
[root@controller ~]# df -hT
Filesystem                Type      Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root     xfs        50G  2.6G   48G   6% /
devtmpfs                  devtmpfs  3.9G     0  3.9G   0% /dev
tmpfs                     tmpfs     3.9G  4.0K  3.9G   1% /dev/shm
tmpfs                     tmpfs     3.9G   17M  3.9G   1% /run
tmpfs                     tmpfs     3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/loop0                ext4      1.9G   22M  1.7G   2% /srv/node/swiftloopback
/dev/mapper/rhel-home     xfs        42G   33M   42G   1% /home
/dev/sda1                 xfs       497M  104M  394M  21% /boot
tmpfs                     tmpfs     3.9G   17M  3.9G   1% /run/netns
192.168.100.40:/nfs_share nfs4       30G   32M   30G   1% /nfs_test
[root@controller ~]# cd /nfs_test/
[root@controller nfs_test]# touch {a,b}{1,2}.txt
[root@controller nfs_test]# ls
a1.txt  a2.txt  b1.txt  b2.txt
[root@controller ~]# umount /nfs_test/

控制节点配置NFS共享

创建文件并配置

[root@controller ~]# vim /etc/cinder/nfs_share
[root@controller ~]# cat /etc/cinder/nfs_share
192.168.100.40:/nfs_share

修改文件权限

[root@controller ~]# chown root:cinder /etc/cinder/nfs_share
[root@controller ~]# chmod 0640 /etc/cinder/nfs_share
[root@controller ~]# ll /etc/cinder/
total 96
-rw------- 1 cinder cinder  2117 Aug 30 23:17 api-paste.ini
-rw------- 1 cinder cinder 79364 Aug 30 23:17 cinder.conf
-rw-r----- 1 root   cinder    26 Aug 31 21:17 nfs_share
-rw-r----- 1 root   cinder  3200 Feb  6  2015 policy.json
-rw-r----- 1 root   cinder   942 Feb  6  2015 rootwrap.conf
drwxr-xr-x 2 cinder root       6 Feb  7  2015 volumes

创建新的后端定义

增加 NFS 后端参数

增加 nfs 后端参数,其中 lvm 默认存在,nfs 为新增

[root@controller ~]# vim /etc/cinder/cinder.conf
[root@controller ~]# cat /etc/cinder/cinder.conf
enabled_backends=lvm,nfs

[lvm]
iscsi_helper=lioadm
volume_group=cinder-volumes
iscsi_ip_address=192.168.100.10
volume_driver=cinder.volume.drivers.lvm.LVMISCSIDriver
volume_backend_name=lvm

[nfs]
nfs_shares_config=/etc/cinder/nfs_share
volume_driver=cinder.volume.drivers.nfs.NfsDriver
volume_backend_name=nfsbackend

重启卷服务

[root@controller ~]# source keystonerc_admin
[root@controller ~(keystone_admin)]# systemctl restart openstack-cinder-scheduler.service openstack-cinder-volume.service

创建云硬盘类型

创建云硬盘类型

[root@controller ~(keystone_admin)]# cinder type-create nfstype
+--------------------------------------+---------+
|                  ID                  |   Name  |
+--------------------------------------+---------+
| fb317c86-7941-4643-ba3b-c93491a80ada | nfstype |
+--------------------------------------+---------+
[root@controller ~(keystone_admin)]# cinder type-list
+--------------------------------------+---------+
|                  ID                  |   Name  |
+--------------------------------------+---------+
| d172a274-12e0-4d04-ad9a-8ae6bbd0060c |  iscsi  |
| fb317c86-7941-4643-ba3b-c93491a80ada | nfstype |
+--------------------------------------+---------+

设置后端名称

[root@controller ~(keystone_admin)]# cinder type-key nfstype set volume_backend_name=nfsbackend

创建云硬盘

使用 NFS 类型创建云硬盘

[root@controller ~(keystone_admin)]# source keystonerc_user
[root@controller ~(keystone_user)]# cinder create --display-name evs01 --volume-type nfstype 2
+---------------------+--------------------------------------+
|       Property      |                Value                 |
+---------------------+--------------------------------------+
|     attachments     |                  []                  |
|  availability_zone  |                 nova                 |
|       bootable      |                false                 |
|      created_at     |      2022-08-31T13:26:38.207154      |
| display_description |                 None                 |
|     display_name    |                evs01                 |
|      encrypted      |                False                 |
|          id         | 466c3fec-1cbd-403c-89cb-9cd2aefb9b65 |
|       metadata      |                  {}                  |
|         size        |                  2                   |
|     snapshot_id     |                 None                 |
|     source_volid    |                 None                 |
|        status       |               creating               |
|     volume_type     |               nfstype                |
+---------------------+--------------------------------------+

尝试挂载给主机

[root@controller ~(keystone_user)]# cinder list
+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+
|                  ID                  |   Status  | Display Name | Size | Volume Type | Bootable | Attached to |
+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+
| 9d31905f-6420-47e2-b75b-2b419882fa69 | available |    evs01     |  2   |   nfstype   |  false   |             |
+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+
[root@controller ~(keystone_user)]# nova list
+--------------------------------------+-------+--------+------------+-------------+--------------------+
| ID                                   | Name  | Status | Task State | Power State | Networks           |
+--------------------------------------+-------+--------+------------+-------------+--------------------+
| 26ac424c-7417-42a7-bbbc-016c5aab0ac4 | ecs01 | ACTIVE | -          | Running     | pri2=192.168.200.4 |
+--------------------------------------+-------+--------+------------+-------------+--------------------+
[root@controller ~(keystone_user)]# nova volume-attach ecs01 9d31905f-6420-47e2-b75b-2b419882fa69
+----------+--------------------------------------+
| Property | Value                                |
+----------+--------------------------------------+
| device   | /dev/vdb                             |
| id       | 9d31905f-6420-47e2-b75b-2b419882fa69 |
| serverId | 26ac424c-7417-42a7-bbbc-016c5aab0ac4 |
| volumeId | 9d31905f-6420-47e2-b75b-2b419882fa69 |
+----------+--------------------------------------+

OpenStack cinder对接NFS后端存储

Original: https://www.cnblogs.com/kongshuo/p/16640943.html
Author: kongshuo
Title: OpenStack cinder对接NFS后端存储

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/585496/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 重磅!微信官方恢复了个人红包封面的制作入口,限时开放!!.md

    前两天微信开放了个人红包封面,引起了大家欢呼雀跃~ 可惜……没几个小时,因为一个不可描述的原因,官方小程序下架了…… 但是, 现在好…

    Linux 2023年6月15日
    0154
  • Linux指令_曾佳豪

    一、基础指令 1、ls指令 含义:ls (list) 用法1 :#ls 含义:列出当前工作目录下所有文件/文件夹的名称 [En] Meaning: list the names o…

    Linux 2023年5月27日
    0120
  • 简单交叉编译学习

    交叉编译 交叉编译是在一个平台上生成另一个平台上的可执行代码。 同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。通常是自己的电脑写好代码编译…

    Linux 2023年6月7日
    0124
  • 更快的排序——归并排序!基于分而治之的对数复杂度的排序Merge Sort

    Merge Sort Algorithm The merge sort algorithm is defined recursively: If the list is of si…

    Linux 2023年6月13日
    094
  • 【原创】Linux v4l2框架分析

    背景 Read the fucking source code! –By 鲁迅 A picture is worth a thousand words. –…

    Linux 2023年5月27日
    075
  • 【spring-boot】配置Redis工具类

    如何在spring-boot中使用Redis工具类 修改pom.xml文件 新增spring-boot-starter-data-redis配置 org.springframewo…

    Linux 2023年5月28日
    0101
  • 用华为云cli(命令行程序),管理华为云服务器的,安全组端口

    关键字 hcloud 华为 命令行 linux windows powershell 前些天,大家因为华为云,是否应该默认开启端口,大家吵起来了,所以我抽空写了此文。解决问题,缓解…

    Linux 2023年6月14日
    087
  • Linux系统编程之命名管道与共享内存

    在上一篇博客中,我们已经熟悉并使用了匿名管道,这篇博客我们将讲述进程间通信另外两种常见方式——命名管道与共享内存。 1.命名管道 管道是使用文件的方式,进行进程之间的通信。因此对于…

    Linux 2023年6月8日
    092
  • tcpip详解-读书笔记

    TCP/IP详解 卷一 第一版读书笔记 第一章: 应用层关心是应用程序的细节,而不是数据在网络中对的传输活动,下三层对应用程序一无所知,但他们要处理所有的通信细节。 七层代理可以根…

    Linux 2023年6月13日
    096
  • 解析库的使用

    使用 Xpath 使用 pyquery from pyquery import PyQuery as pq doc = pq(html) print(doc) PyQuery对象可…

    Linux 2023年6月7日
    089
  • phpcms如何在前台文章列表显示来源

    phpcms的文章来源分为两种,一种是在后台来源中添加完成的,这种”来源”的相关数据存放于数据库的copyfrom表中,通过id和news_data表相关联…

    Linux 2023年6月13日
    085
  • 作业一、安装Ubuntu系统

    Ubuntu1804安装 一、安装环境 1、VMware Workstation 16 Pro 2、Ubuntu 18.04.6 LTS 二、部署系统 步骤1、进入VMware,点…

    Linux 2023年6月13日
    083
  • PWN学习总结

    一、栈溢出原理 什么是栈溢出?栈溢出就是缓冲区溢出的一种。 由于缓冲区溢出而使得有用的存储单元被改写,往往会引发不可预料的后果。程序在运行过程中,为了临时存取数据的需要,一般都要分…

    Linux 2023年6月8日
    093
  • java反射机制

    1..获取Class实例的方式 1 @Test 2 public void test3() throws ClassNotFoundException { 3 //方式一:调用运行…

    Linux 2023年6月6日
    0117
  • Linux下IPC之共享内存的使用方法

    基本参考 《Unix环境高级编程》 第14.9节共享内存来学习。 需要说明的 讲shmget(key,size, flag)函数时,书上大概意识是说, 想访问已有的shm时,key…

    Linux 2023年6月7日
    078
  • Redis做Mybatis的二级缓存

    基于spring boot项目的前提下,使用redis数据库做mybatis的二级缓存。 Redis做mybatis的二级缓存 作用提升速度,保证多台服务器访问同一数据库时不会崩注…

    Linux 2023年6月7日
    0110
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球