如何用rc.local文件配置iscsi自动挂载
时间: 2024-09-07 21:00:58 浏览: 89
ubantu自动挂载ISCSI硬盘
`rc.local`文件通常是在Linux系统中执行最后一次初始化脚本的地方,但它并非专门用于iscsi自动挂载。为了在开机时自动挂载iSCSI存储,你需要创建一个`initramfs`脚本或者修改`/etc/fstab`并配合`udev`规则或者`autofs`。
以下是一个基本的步骤:
1. **添加到fstab**: 将iSCSI设备添加到`/etc/fstab`,例如:
```
<target_ip>:<volume_name> <mount_point> <file_system_type> defaults,nofail,iocharset=utf8,tcp 0 0
```
其中 `<target_ip>` 是iSCSI服务器地址,`<volume_name>` 是你想挂载的目标,`<mount_point>` 是你要挂载的位置,`<file_system_type>` 通常是ext4或者其他你系统支持的类型。
2. **使用udev规则**: 编辑`/etc/udev/rules.d/99-iscsi.rules`,添加一个条目来识别新连接的iSCSI设备,并调用相应的脚本挂载:
```bash
ACTION=="add", SUBSYSTEM=="scsi", KERNEL=="sd*", ATTR{model}=="QEMU HARDDISK*", RUN+="/sbin/mount -t <file_system_type> -o <options> <mount_point> $(basename $DEVNAME)"
```
3. **创建挂载脚本**: 创建一个shell脚本如`/etc/init.d/iscsi_mount`,内容大致如下:
```bash
#!/bin/sh
if [ ! -e /mnt/your_mount_point ]; then
mkdir /mnt/your_mount_point
fi
mount -a || echo "Error mounting iSCSI storage."
```
4. **设置开机自启动**: 使用`update-rc.d`将你的脚本添加到系统启动进程列表,使其在下次启动时运行:
```bash
sudo update-rc.d iscsi_mount defaults
```
5. **测试挂载**: 关机重启系统后检查iSCSI设备是否能自动挂载。
请注意,以上步骤适用于大多数基于sysv-initscript的Linux发行版。对于systemd系统,`udev`规则处理可能会有所不同,需要查阅最新的文档。
阅读全文