文件存储 自动挂载文件系统

1. 文件存储 > 文件系统 在需要挂载的文件系统右侧单击挂载。2. 可以在弹出的窗口中,查看云服务器是否配置了所选文件系统的重启自动挂载。选中所需要挂载的实例,并单击下一步。

相关产品
文件存储 产品页,含版本规格、价格与购买入口。

一、方法一:使用控制台设置(推荐)

注意:如果你曾使用 fstab 或其他方式,为了避免冲突,建议在使用此方法前,关闭现有的重启自动挂载方式。

注意:仅支持已安装自动化助手的云服务器查看配置状态,无法检测用户自行设置的 fstab 或其他自动挂载方式的配置结果。

状态 描述
已配置 在该云服务器上,已使用控制台或客户端助手配置过重启机器时自动挂载所选的文件系统
未配置 在该云服务器上,未使用控制台或客户端助手配置过重启机器时自动挂载所选的文件系统
暂不支持 暂不支持 Windows Server 2012 使用控制台或客户端助手进行重启机器自动挂载

·已配置状态下查询结果示例,从左到右分别是挂载点 IP、客户端类型、挂载的本地路径、重启挂载状态(启用时为 true,手动关闭时为 false):

·未配置状态下查询结果示例:

3. 在此页面填写目标本地目录及其他参数,勾选重启自动挂载,并单击下一步。

4. 执行状态显示已完成时说明已成功挂载,并成功配置重启自动挂载。

注意:早期版本的控制台在配置重启挂载的过程中,记录挂载命令会存在冗余记录机制。若曾多次执行挂载操作,不成功的挂载指令可能被保留在/usr/local/reboot_mount_tencent_cfs/bin 路径下的 reboot_mount_tencent_cfs.sh 文件中,影响重启时的挂载效率。为提升使用体验,建议你通过以下任一方式清理历史冗余:

注意:说明:

vim /usr/local/reboot_mount_tencent_cfs/bin/reboot_mount_tencent_cfs.sh # … 以上省略… if false; then # 将条件表达式中的true改为false,即可关闭重启机器自动挂载 vDoMount="sudo mount.lustre x.x.x.x@tcp:/xxxxxxxx/cfs /path/to/mountpoint_x" # 期望关闭的文件系统重启自动挂载命令 # … 以下省略…

二、方法二:使用 systemd 手动配置

注意:说明:

注意:方法二与方法一本质上都是基于 systemd 进行实现,区别在于方法一是通过自动化的方式去配置,方法二是基于手动的方式配置。

1. 在/usr/local/ 下创建文件夹存放执行脚本及运行日志。

注意:建议不要更改文件的命名,以免在控制台查询状态失败。

cd /usr/local/mkdir -p reboot_mount_tencent_cfs/logsmkdir -p reboot_mount_tencent_cfs/bin

三、Running Environment

Operating System: Ubuntu 24.04.3 LTS / x86_64Runtime Version: GNU bash, version 5.2.21(1)-release (x86_64-pc-linux-gnu)

2. 在 reboot_mount_tencent_cfs/bin 下创建脚本 reboot_mount_tencent_cfs.sh,在提示位置,根据需要更改挂载命令,并赋予可执行权限。

cd /usr/local/reboot_mount_tencent_cfs/binfile="reboot_mount_tencent_cfs.sh"if [ -e "$file" ]; thenecho "File already exists, skipping creation."elsecat > "$file" << 'EOF'#!/bin/bash####启动过程进行文件系统挂载时的日志####readonly LOG_FILE=/usr/local/reboot_mount_tencent_cfs/logs/reboot_mount_tencent_cfs-$(date +%Y%m%d_%H%M%S).logfunction main() { local vDryRun=false local vDoMount ####使用说明#### # 0)挂载某个文件系统 # 1)将条件表达式中true改为false,即可关闭重启机器自动挂载 # 2)将vDoMount内容替换成该文件系统的实际挂载指令 ####使用说明#### if true; then vDoMount="mount.lustre x.x.x.x@tcp:/xxxxxxxx/cfs /path/to/mountpoint_x" if ${vDryRun}; then echo "${vDoMount}" else echo "[$(date +%Y-%m-%d\\ %H:%M:%S)]Try to run: ${vDoMount}" >> "${LOG_FILE}" local vTimesRetried=0 while [[ ${vTimesRetried} -le ${MAX_MOUNTS2RETRY} ]]; do timeout 300 ${vDoMount}& pid=$! wait $pid vRc=$? if [[ ${vRc} -ne 0 ]]; then echo "[$(date +%Y-%m-%d\\ %H:%M:%S)][${vRc}]Failed to run: ${vDoMount}" >> "${LOG_FILE}" sleep 120 # 重试前延迟2分钟,以规避网络慢启动 vTimesRetried=$((vTimesRetried + 1)) continue else echo "[$(date +%Y-%m-%d\\ %H:%M:%S)]Succeed to run: ${vDoMount}" >> "${LOG_FILE}" break fi done fi fi echo "====All mountings tried====" >> "${LOG_FILE}" # 定位行,请勿删改 echo >> "${LOG_FILE}" echo "Current mountpoints of CFS:" >> "${LOG_FILE}" mount -t nfs >> "${LOG_FILE}" mount -t nfs4 >> "${LOG_FILE}" mount -t lustre >> "${LOG_FILE}" wait ####工具使用约束### # 仅用于配合systemd服务完成系统启动时的初始挂载 # 不要用于非启动场合 ###工具使用约束###}mainEOFfichmod a+x reboot_mount_tencent_cfs.sh

四、Running Environment

Operating System: Ubuntu 24.04.3 LTS / x86_64Runtime Version: GNU bash, version 5.2.21(1)-release (x86_64-pc-linux-gnu)

3. 在/etc/systemd/system 目录中创建 reboot_mount_tencent_cfs.service。

cd /etc/systemd/systemecho '[Unit]Description=Used to automatically mount Tencent Turbo filesystems.After=default.target[Service]ExecStart=/usr/local/reboot_mount_tencent_cfs/bin/reboot_mount_tencent_cfs.sh[Install]WantedBy=default.target' > reboot_mount_tencent_cfs.service

五、Running Environment

Operating System: Ubuntu 24.04.3 LTS / x86_64Runtime Version: GNU bash, version 5.2.21(1)-release (x86_64-pc-linux-gnu)

4. 将 reboot_mount_tencent_cfs.service 设置为开机自启动。当系统启动时,reboot_mount_tencent_cfs.sh 中状态为 true 的挂载命令会自动执行。

systemctl daemon-reload && systemctl enable reboot_mount_tencent_cfs.service

六、方法三:使用 fstab 手动配置

1. 首先,连接到需要自动挂载文件系统的 CVM 实例,可以通过 CVM 控制台登录或者远程登录的方式。打开 /etc/fstab 文件 (确保你登录的账户享有 root 权限)。

//使用以下命令打开 fstab 文件vi /etc/fstab

2. 打开 fstab 文件后,在 /etc/fstab 文件中添加如下命令行,支持以下几种挂载方式:

// 使用 NFS4.0 挂载<挂载点IP>:/ <待挂载目标目录> nfs vers=4,minorversion=0,hard,timeo=600,retrans=2,_netdev,noresvport 0 0// 例如:10.10.19.12:/ /local/test nfs vers=4,minorversion=0,hard,timeo=600,retrans=2,_netdev,noresvport 0 0

// 使用 NFS3.0 挂载<挂载点IP>:/<fsid> <待挂载目标目录> nfs vers=3,nolock,proto=tcp,hard,timeo=600,retrans=2,_netdev,noresvport 0 0// 例如:10.10.19.12:/djoajeo4 /local/test nfs vers=3,nolock,proto=tcp,hard,timeo=600,retrans=2,_netdev,noresvport 0 0

// 使用 Turbo 挂载<挂载点IP>@tcp0:/<fsid>/cfs <待挂载目标目录> lustre defaults,_netdev 0 0 // 例如:172.16.0.7@tcp0:/01184207/cfs /root/turbo lustre defaults,_netdev 0 0

3. 按下键盘 "Esc" 按键并输入 ":wq" 以保存上述修改。重启机器后,可以观察到文件系统已被自动挂载。

七、Windows 系统自动挂载 NFS 文件系统

注意:说明:

八、方法一:手动挂载时设置

手动挂载时,勾选登录时重新连接选项,如下示。更多挂载帮助请参见 在 Windows 客户端上使用 CFS 文件系统。


九、方法二:使用控制台设置

使用控制台或客户端助手挂载时,默认挂载命令已包含系统启动时挂载和一次性挂载两个部分,分别覆盖未登录及登录状态下挂载 CFS 的情况。命令具体内容如下:

RAM 创建系统启动时任务,实现未登录时及重启服务器时自动挂载CFSreg add "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run" /v SecurityHealth /t REG_EXPAND_SZ /d "%windir%\\system32\\SecurityHealth.exe" /freg add "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run" /v AzureArcSetup /t REG_EXPAND_SZ /d "%windir%\\Azuresetup\\Startup.exe" /freg add "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run" /v 98xxxxx_a /t REG_SZ /d "cmd.exe /c \\"mount -o nolock mtype=hard 10.xx.xx.xx:/98xxxxxx a:"\\" /fRAM 创建一次性任务并立即执行,实现登录状态下挂载CFS@echo offset "tempFile=%temp%\\mountcfs_temp.bat"( echo mount -o nolock mtype=hard 10.xx.xx.xx:/98xxxxx a:) > "%tempFile%"type %tempFile%schtasks /create /tn "MountCFS_Task" /tr "%tempFile%" /sc once /st 08:00 /fschtasks /run /tn "MountCFS_Task"schtasks /delete /tn "MountCFS_Task" /f

注意:说明:

注意:schtasks 是 Windows 操作系统支持的命令行工具,允许用户通过 CMD 或 PowerShell 创建、查询、更改、运行、结束和删除系统计划任务。详细介绍和使用限制请参见 Windows Command – schtasks。

如果你希望重启时不再自动挂载 CFS ,请在 CMD 中执行以下命令在注册表中删除对应的系统启动时任务。

reg delete "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run" /v cfs-12345678 /f

赞 (0)
上一篇 4天前
下一篇 4天前