找回密码
 立即注册
img_loading
智能检测中

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
glinet
楼主: shengwanyu

EXSI中虚拟NAS硬盘共享给EXSI使用--ISCSI网络硬盘

[复制链接]
发表于 2023-9-7 12:57 | 显示全部楼层
过眼飘散 发表于 2023-6-18 23:19
延迟启动nfs链接后面的命令怎么写呀~

挂载宿主机NFS存储方法

esxi里面把群辉的启动顺序设为第一个,按楼主的步骤清空123脚本后写入以下命令。

sleep 120    延时120秒
esxcfg-nas -a <本地映射名称> -o <NFS IP> -s <要挂载的NFS文件系统的路径>

示例:
sleep 120
esxcfg-nas -a NFS-NAS -o 192.168.1.200 -s /volume2/NFS/

注意事项:在vcsa里面挂载nfs存储后不要在esxi web管理页面删除,否则会出现一个无法删除的nfs存储bug。。。
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-7-27 00:01 来自手机 | 显示全部楼层
本帖最后由 Yulin0310 于 2025-7-27 00:06 编辑

我的案例是,我创建了一个Win10系统的虚拟机,硬盘用的NAS的ISCSI磁盘,这个NAS也是虚拟机。
我NAS还是正常开机启动,WinOS不要自启,利用脚本来启动,代码处方法如下。


#!/bin/sh
#
# ------------------------------------------------------------------------
# ESXi 启动后延时挂载 iSCSI 并启动指定虚拟机的自动脚本
# ------------------------------------------------------------------------
#
# 【脚本功能】
# - 系统开机后延迟一段时间(等待网络/iSCSI 服务就绪)
# - 扫描 iSCSI 存储适配器和 VMFS 卷
# - 启动指定名称的虚拟机
#
# 【使用说明】
#
# 1. 创建脚本目录(如果还没有):
#    mkdir -p /vmfs/volumes/datastore1/scripts
#
# 2. 进入该目录并新建脚本文件:
#    cd /vmfs/volumes/datastore1/scripts
#    vi iscsi-delay-start.sh
#    (粘贴此脚本内容后按 Esc,输入 :wq 保存并退出)
#
# 3. 赋予脚本执行权限:
#    chmod +x /vmfs/volumes/datastore1/scripts/iscsi-delay-start.sh
#
# 4. 编辑 ESXi 启动脚本:
#    vi /etc/rc.local.d/local.sh
#
# 5. 在文件末尾的 `exit 0` 之前插入以下一行(注头插入):
#    /vmfs/volumes/datastore1/scripts/iscsi-delay-start.sh &
#
#    👈 注意最后的 `&` 非常重要:
#       - `&` 表示“后台运行”该脚本
#       - 如果不加 `&`,ESXi 会等待整个脚本执行完成(比如 sleep 360 秒)才继续启动,
#         可能导致系统启动缓慢甚至失败
#       - 加了 `&`,脚本会在后台执行,系统启动流程能正常继续
#
# 6. 保存退出并重启主机测试是否生效:
#    reboot
#
# 【可选】脚本会将结果写入日志,可查看以下文件:
#    cat /var/log/iscsi-vm-start.log
#
# ------------------------------------------------------------------------


# 自定义延迟时间(单位:秒)
DELAY_SECONDS=360

# 指定要启动的虚拟机名称(区分大小写)
VM_NAME="WinOS"

# 延迟指定时间(等待网络/iSCSI 初始化完成)
sleep $DELAY_SECONDS

# 扫描所有存储适配器(包括 iSCSI)
esxcli storage core adapter rescan --all
vmkfstools -V

# 获取虚拟机 ID(VMID)
VM_ID=$(vim-cmd vmsvc/getallvms | grep "$VM_NAME" | awk '{print $1}')

# 启动虚拟机
if [ -n "$VM_ID" ]; then
    echo "$(date): 已启动虚拟机 $VM_NAME (ID: $VM_ID)" >> /var/log/iscsi-vm-start.log
    vim-cmd vmsvc/power.on "$VM_ID"
else
    echo "$(date): 未找到虚拟机 $VM_NAME" >> /var/log/iscsi-vm-start.log
fi

# 结束脚本
exit 0

只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛

只谈技术、莫论政事!切勿转播谣言!为了你也为了他人。
只谈技术、莫论政事!(点击见详情) 切记不要随意传播谣言,把自己的日子过安稳了就行,为了自己好也为了大家好。 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。

查看 »

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2025-12-4 22:40

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表