Was this page helpful?

Multi-Jails

    多 Jails 設置,如果要跑多個 Jails 很多東西可以共用,像是 lib 之類的

    建立 Base System

    # mkdir /home/jails /home/jails/base
    # cd /usr/src
    # make installworld DESTDIR=/home/jails/base

    安裝 cpdup

    # cd /usr/ports/sysutils/cpdup/
    # make install clean 

    複製 /usr/src 到 Jail base system

    # cpdup /usr/src /home/jails/base/usr/src

    打造骨架

    # mkdir /home/jails/skel /home/jails/skel/home /home/jails/skel/usr-X11R6 /home/jails
    /skel/distfiles # mv etc /home/jails/skel # mv usr/local /home/jails/skel/usr-local # mv tmp /home/jails/skel # mv var /home/jails/skel # mv root /home/jails/skel

    安裝設定檔

    # mergemaster -t /home/jails/skel/var/tmp/temproot -D /home/jails/skel -i
    # cd /home/jails/skel/
    # rm -R bin boot lib libexec mnt proc rescue sbin sys usr dev

    連結檔案

    # cd /home/jails/base
    # mkdir s
    # ln -s s/etc etc
    # ln -s s/home home
    # ln -s s/root root
    # ln -s ../s/usr-local usr/local
    # ln -s ../s/usr-X11R6 usr/X11R6
    # ln -s ../../s/distfiles usr/ports/distfiles
    # ln -s s/tmp tmp
    # ln -s s/var var 

    編輯設定檔

    # joe /home/jails/skel/etc/make.conf
    

    WRKDIRPREFIX?= /s/portbuild 

    編輯 fstab

    # joe /etc/fstab
    /home/jails/base   /home/jails/wiki1    nullfs  ro  0   0
    /home/jails/base   /home/jails/wiki2    nullfs  ro  0   0
    /home/vs/wiki1     /home/jails/wiki1/s  nullfs  rw  0   0
    /home/vs/wiki2     /home/jails/wiki2/s  nullfs  rw  0   0
    

    編輯 rc.conf

    jail_enable="YES"
    jail_set_hostname_allow="NO"
    jail_list="wiki1 wiki2"
    
    jail_wiki1_rootdir="/home/jails/wiki1"
    jail_wiki1_hostname="wiki1.j.mis.au.edu.tw"
    jail_wiki1_ip="192.168.1.100"
    jail_wiki1_devfs_enable="YES"
    
    jail_wiki2_rootdir="/home/jails/wiki2"
    jail_wiki2_hostname="wiki2.j.mis.au.edu.tw"
    jail_wiki2_ip="192.168.1.101"
    jail_wiki2_devfs_enable="YES"
    

    建立 mount point

    # mkdir /home/jails/wiki1 /home/jails/wiki2

    建立子 Jails 及複製骨架

    # mkdir /home/vs
    # cpdup /home/jails/skel /home/vs/wiki1
    # cpdup /home/jails/skel /home/vs/wiki2  
    

    設定 IP

    # ifconfig em1 inet 192.168.1.100 alias
    # ifconfig em1 inet 192.168.1.101 alias
    

    啟動 Jails

    # mount -a
    # /etc/rc.d/jail start
    # jls
       JID  IP Address      Hostname                      Path
         2  192.168.1.101   wiki2.j.mis.au.edu.tw         /home/jails/wiki2
         1  192.168.1.100   wiki1.j.mis.au.edu.tw         /home/jails/wiki1
    

    連結 Host 的 Ports

    # mkdir -p /home/jails/base/usr/ports/
    # mount_nullfs /usr/ports /home/jails/wiki1/usr/ports/
    # mount_nullfs /usr/ports /home/jails/wiki2/usr/ports/
    

    這樣就大致完成


    Was this page helpful?
    標籤 (Edit tags)
    • No tags
    blog comments powered by Disqus
    Powered by MindTouch Core