linux VHD文件通过NFS启动

服务器端

1. 安装ubuntu 18.04 nfs服务器

# apt install nfs-kernel-server

2. 加载nbd内核模块并使用qemu-nbd加载vhd文件(假设vhd文件包含三个分区),在/dev下生成nbd0p[1-3]三个分区,第三个分区为根分区

# modprobe nbd
# qemu-nbd -c /dev/nbd0 /path/to/pim_file

3. 将/dev/nbd0p3挂载到需要共享的目录(例:/srv/nfs/root)

# mount /dev/nbd0p3 /srv/nfs/root

4. 配置nfs server服务器/etc/exports配置文件
    /srv/nfs/root *(rw,sync,no_subtree_check,no_root_squash)
    
    *:允许所有的网段访问,也可以使用具体的IP
    rw:挂接此目录的客户端对该共享目录具有读写权限
    sync:资料同步写入内存和硬盘
    no_root_squash:root用户具有对根目录的完全管理访问权限
    no_subtree_check:不检查父目录的权限

5. 重启nfs server并使用showmount -e查看是否成功

# systemctl restart nfs-kernel-server

6. 修改已挂载根分区中的fstab文件,注释其中所有内容

nfs客户端测试

1. 安装ubuntu 18.04 nfs client

# apt install nfs-common

2. 查看服务器端共享的nfs目录

# showmount -e 192.168.1.111
Export list for 192.168.1.111:
/srv/nfs/root *

3. 新建本地挂载目录并挂载

# mkdir -p /mnt/nfs
# mount -t nfs 192.168.1.111:/srv/nfs/root /mnt/nfs

客户端机器

1. 使用livecd iso,修改grub.cfg中引导项,添加nfs引导需要的内核参数

root=/dev/nfs rootfstype=nfs nfsroot=192.168.1.111:/srv/nfs/root ip=192.168.1.155:192.168.1.111:192.168.1.1:255.255.255.0::eth0:off

2. 如果需要保证客户端机器的网络设备名为eth0, 可以在引导的内核参数上添加参数:net.ifnames=0 biosdevname=0

参考

通过NFS(nfsroot)启动linux系统 - kinglongmee - 博客园Mounting the root filesystem via NFS (nfsroot)英文原文位于inux内核源代码中的"Documentation/filesystems/nfs/nhttps://www.cnblogs.com/kinglongmee/p/5043656.htmlubuntu nfs-server/client安装配置_rick_zyl的博客-CSDN博客NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以像访问本地文件一样透明地读写位于远端NFS服务器上的文件。配置NFS服务器:1)安装nfs serverapt-get install nfs-kernel-server2)配置https://blog.csdn.net/rick_zyl/article/details/79051696

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值