3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CoreOSからNFSでホストとファイルを共有する

Last updated at Posted at 2015-11-14

coreos-xhyveを使います

前回はディスクイメージをファイルとして作成していたのですが,

  • 使いたい容量の分だけファイルを作っておかなければならない
  • ファイルがデカいので取り回しが悪い
  • 複数のディスク付けようと思ったら起動シェルを編集しなければならない

とか,いろいろ不都合だったのでNFSでマウントしてやることにします.

Mac(ホスト)側

NFSサーバを起動しておいてやる必要があります.

/etc/exports を作成

/etc/exports
/Volumes/docker -maproot=root -network 192.168.64.0 -mask 255.255.255.0

あわせてマウントポイントを作成

mkdir /Volumes/docker

sudo chown root:wheel /Volumes/docker

owner/groupを間違えるとコンテナが起動しなかった.

nfsd を起動

/etc/exportsを作成した時点で勝手にnfsdが起動するようです.
なので,設定の確認だけ.

uraura@rosemary$ nfsd status
nfsd service is enabled
nfsd is running (pid 9994, 8 threads)

uraura@rosemary$  showmount -a -e
All mounts on localhost:
Exports list on localhost:
/Volumes/docker                     192.168.64.0

設定がおかしいときは/etc/exportsを見直すか,nfsdを再起動など

設定をリロード
sudo nfsd update
nfsdを再起動
sudo nfsd restart

CoreOSのcloud-initを作成

前回との差分は下記

        [Mount]
-        What=/dev/vda
+        What=192.168.64.1:/Volumes/docker
         Where=/var/lib/docker
-        Type=ext4
+        Type=nfs
+        Options=nolock

VM起動

sudo ./coreos-xhyve-run -f custom.conf

確認

CoreOS上で確認

core@localhost ~ $ df -h
Filesystem                    Size  Used Avail Use% Mounted on
devtmpfs                      892M     0  892M   0% /dev
tmpfs                        1003M     0 1003M   0% /dev/shm
tmpfs                        1003M   17M  987M   2% /run
tmpfs                        1003M     0 1003M   0% /sys/fs/cgroup
tmpfs                        1003M  6.8M  997M   1% /
/dev/loop0                    195M  195M     0 100% /usr
tmpfs                        1003M     0 1003M   0% /tmp
tmpfs                        1003M     0 1003M   0% /media
192.168.64.1:/Volumes/docker  465G  224G  242G  49% /var/lib/docker

core@localhost ~ $ mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=912768k,nr_inodes=228192,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime,seclabel)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
tmpfs on / type tmpfs (rw,relatime,seclabel)
/usr.squashfs (deleted) on /usr type squashfs (ro,relatime)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
tmpfs on /tmp type tmpfs (rw,seclabel)
mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)
debugfs on /sys/kernel/debug type debugfs (rw,relatime,seclabel)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)
tmpfs on /media type tmpfs (rw,nosuid,nodev,noexec,relatime,seclabel)
192.168.64.1:/Volumes/docker on /var/lib/docker type nfs (rw,relatime,vers=3,rsize=65536,wsize=65536,namlen=255,hard,nolock,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.64.1,mountvers=3,mountport=820,mountproto=udp,local_lock=all,addr=192.168.64.1)

Mac側で確認

uraura@rosemary$ showmount -a -e
All mounts on localhost:
192.168.64.39:/Volumes/docker
Exports list on localhost:
/Volumes/docker                     192.168.64.0
3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?