概述
使用欧拉系统部署NFS与vSphere或其他虚拟化平台集成,对于需要进行数字化转型,同时又关注供应链安全和成本控制的中国企业,不仅是技术上的可行选择,更是在当前国际环境下战略性的明智决策。它提供了:
- 技术自主性 + 商业可行性的平衡
- 企业级功能 + 开源灵活性的结合
- 当前需求满足 + 未来扩展可能的保障
这一方案提供了当前环境下最佳平衡点,欧拉系统部署NFS共享存储与vSphere集成具有多方面显著优势:
- 软件授权费:欧拉系统免费
- 存储硬件:可使用标准x86服务器
- 维护成本:国内技术支持响应更快
本文针对该案例进行部署记录,您可以结合并应用到实际项目中。
环境准备
openEuler 的ISO镜像:openEuler 下载 ,我这里下载的是x86的镜像:openEuler 24.03 LTS SP3

此次任务计划是通过该服务器进行发布两个不同的共享目录,一个由SSD磁盘组成(200GB),另外一个SATA磁盘组成(400GB),如此可以根据实际业务需求选择对应性能的存储。
例如:我本次的任务计划是将虚拟机系统放在SSD存储中,虚拟机中的数据盘存放在SATA存储中。
服务器使用带外挂载ISO镜像,通过ISO镜像正常安装openEuler操作系统。

既然都用openEuler 了 ,我觉得语言还是选择中文了。

软件选择 — 服务器 — 文件及存储服务器

配置安装磁盘、网络信息、用户密码等,然后点击开始安装。

安装完成后重启操作系统。

使用MobaXterm登录SSH

配置硬盘
查看当前硬盘,可见200GB的sdb和400GB的sdc两块硬盘。

现在我们需要将它们分别进行格式化并挂载
格式化sdb
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.39.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
设备不包含可识别的分区表。
Created a new DOS (MBR) disklabel with disk identifier 0xb69baa4a.
命令(输入 m 获取帮助):n
分区类型
p 主分区 (0个主分区,0个扩展分区,4空闲)
e 扩展分区 (逻辑分区容器)
选择 (默认 p):
将使用默认回应 p。
分区号 (1-4, 默认 1):
第一个扇区 (2048-419430399, 默认 2048):
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-419430399, 默认 419430399):
创建了一个新分区 1,类型为“Linux”,大小为 200 GiB。
命令(输入 m 获取帮助):p
Disk /dev/sdb:200 GiB,214748364800 字节,419430400 个扇区
磁盘型号:Virtual disk
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xb69baa4a
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdb1 2048 419430399 419428352 200G 83 Linux
命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
格式化sdc
[root@localhost ~]# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.39.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
设备不包含可识别的分区表。
Created a new DOS (MBR) disklabel with disk identifier 0xc79fa4fc.
命令(输入 m 获取帮助):n
分区类型
p 主分区 (0个主分区,0个扩展分区,4空闲)
e 扩展分区 (逻辑分区容器)
选择 (默认 p):
将使用默认回应 p。
分区号 (1-4, 默认 1):
第一个扇区 (2048-838860799, 默认 2048):
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-838860799, 默认 838860799):
创建了一个新分区 1,类型为“Linux”,大小为 400 GiB。
命令(输入 m 获取帮助):p
Disk /dev/sdc:400 GiB,429496729600 字节,838860800 个扇区
磁盘型号:Virtual disk
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc79fa4fc
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdc1 2048 838860799 838858752 400G 83 Linux
命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
格式化硬盘为ext4格式并创建挂载点
格式化sdb且挂载
[root@localhost ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.47.0 (5-Feb-2023)
丢弃设备块:完成
创建含有 52428544 个块(每块 4k)和 13107200 个 inode 的文件系统
文件系统 UUID:d08d47fa-2e9b-475f-9eda-a359b420fef9
超级块的备份存储于下列块:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
正在分配组表:完成
正在写入 inode表:完成
创建日志(262144 个块):完成
写入超级块和文件系统账户统计信息:已完成
[root@localhost ~]# mkdir /mnt/sdb1
[root@localhost ~]# mount /dev/sdb1 /mnt/sdb1/
格式化sdc且挂载
[root@localhost ~]# mkfs.ext4 /dev/sdc1
mke2fs 1.47.0 (5-Feb-2023)
创建含有 104857344 个块(每块 4k)和 26214400 个 inode 的文件系统
文件系统 UUID:8951ce33-69ad-4f71-bf94-8671f16d48e6
超级块的备份存储于下列块:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000
正在分配组表:完成
正在写入 inode表:完成
创建日志(262144 个块):完成
写入超级块和文件系统账户统计信息:已完成
[root@localhost ~]# mkdir /mnt/sdc1
[root@localhost ~]# mount /dev/sdc1 /mnt/sdc1/
实现永久挂载,编辑 /etc/fstab 文件,在末尾行插入
/dev/sdb1 /mnt/sdb1 ext4 defaults 0 0 /dev/sdc1 /mnt/sdc1 ext4 defaults 0 0
插入完成后如下所示

配置共享目录
由于安装服务器操作系统时候选择了“文件及存储服务器” 角色,所以是默认安装了 nfs-utils 及相关依赖包,只需要配置其相关服务。
设置 nfs-server 服务开机自启
systemctl enable --now nfs-server
创建共享目录
mkdir -p /mnt/sdb1/nfs_ssd mkdir -p /mnt/sdc1/nfs_sata
设置权限
chown -R nobody:nobody /mnt/sdb1 chown -R nobody:nobody /mnt/sdc1 chmod -R 777 /mnt/sdb1 chmod -R 777 /mnt/sdc1
配置NFS共享
编辑 /etc/exports 文件,插入下面内容,子网替换成环境中实际子网。
/mnt/sdb1/nfs_ssd 10.0.0.0/8(rw,sync,no_root_squash,no_subtree_check) /mnt/sdc1/nfs_sata 10.0.0.0/8(rw,sync,no_root_squash,no_subtree_check)
配置NFS服务参数
编辑 /etc/nfs.conf 修改vers3=y 参数:
[nfsd] # debug=0 # threads=8 # host= # port=0 # grace-time=90 # lease-time=90 # udp=n # tcp=y # vers3=n # 默认是y,改成n,vSphere支持NFSv3,但建议使用NFSv4 # vers4=y # vers4.0=y # vers4.1=y # vers4.2=y
防火墙配置
firewall-cmd --permanent --add-service=nfs firewall-cmd --permanent --add-service=mountd firewall-cmd --permanent --add-service=rpc-bind firewall-cmd --reload
应用配置并启动服务
exportfs -rav # 重新导出共享 systemctl restart nfs-server # 重启服务 showmount -e localhost # 验证共享
看起来应该如下:

添加NFS存储
在添加之前确保ESXi主机能够访问openEuler NFS服务器,登录ESXi SSH执行:
vmkping 192.168.1.100 # NFS服务器IP
确保网络可以正常通信。

登录到vCenter Server控制台 → 存储 → 选中集群并右键 → 存储 → 新建数据存储 → NFS

选择 NFS 4.1

名称配置好后点添加

Kerberos 身份验证选择:请勿使用 Kerberos 身份验证

勾选需要分配的主机

再次核对

任务完成

至此我们已经将原计划容量200GB的NFS共享存储成功集成到了vSphere,现在我们使用上述同样的过程添加另外一块400GB的NFS共享存储。
至此,两个NFS共享存储均已添加完成,可以在vSphere存储清单中详细显示。

通过vSphere生成的数据在NFS服务器上也实时同步。

1
这个比较深度了,浏览了一遍增加点印象以备不时之需。