freebsd:001_020_proliant_microserver高機能nas化計画_osインストール編

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

次のリビジョン
前のリビジョン
freebsd:001_020_proliant_microserver高機能nas化計画_osインストール編 [2011-09-17 11:01]
Decomo 作成
freebsd:001_020_proliant_microserver高機能nas化計画_osインストール編 [2020-12-03 19:36] (現在)
行 1: 行 1:
 ====== ProLiant MicroServer高機能NAS化計画(OSインストール編) ====== ====== ProLiant MicroServer高機能NAS化計画(OSインストール編) ======
 +
 +===== 環境 =====
 +
 +  * HP ProLiant MicroServer
 +  * FreeBSD 9.0-BETA3
 +
 +詳細は[[pc:freebsd:001_010_proliant_microserver高機能nas化計画_構想編|ProLiant MicroServer高機能NAS化計画(構想編)]]参照。
  
 ===== sshで入れるFixit環境の作成 ===== ===== sshで入れるFixit環境の作成 =====
  
 === RAMディスクを作ってシステムをコピー === === RAMディスクを作ってシステムをコピー ===
- +<cli prompt="# "
-<cli> +umount /dev/md1 
-mdconfig -a -t malloc -s 2048M -u 10 +mdmfs -s 2048m md1 /tmp 
-# newfs -U /dev/md10 +mkdir /tmp/dist 
-mkdir /mdisk +find . ! -regex '\./tmp' | cpio -pd /tmp/dist
-mount /dev/md10 /mdisk +
-cp -pR /dist /mdisk+
 </cli> </cli>
  
-=== 読み書き可能なFixit環境へ入る === +=== コピーした環境へ入る === 
- +<cli prompt="# "
-<cli> +# mount -t devfs devfs /tmp/dist/dev 
-# mount -t devfs devfs /mdisk/dist/dev +# chroot /tmp/dist
-# chroot /mdisk/dist+
 </cli> </cli>
  
 === ネットワークの設定 === === ネットワークの設定 ===
- +<cli prompt="# ">
-<cli>+
 # ifconfig bge0 192.168.65.1 netmask 255.255.255.0 # ifconfig bge0 192.168.65.1 netmask 255.255.255.0
 </cli> </cli>
  
 === sshdの起動 === === sshdの起動 ===
- +<cli prompt="# ">
-<cli>+
 # echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config # echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
 # echo 'sshd_enable="YES"' >> /etc/rc.conf # echo 'sshd_enable="YES"' >> /etc/rc.conf
行 35: 行 37:
  
 === rootパスワードの設定 === === rootパスワードの設定 ===
- +<cli prompt="# ">
-<cli>+
 # passwd # passwd
 Changing local password for root Changing local password for root
行 47: 行 48:
 === パーティションテーブル初期化 === === パーティションテーブル初期化 ===
 本来はgpart destroyで消すべきだが、面倒なので… 本来はgpart destroyで消すべきだが、面倒なので…
-<cli>+<cli prompt="# ">
 # dd if=/dev/zero of=/dev/ada0 bs=1m count=1 # dd if=/dev/zero of=/dev/ada0 bs=1m count=1
 # dd if=/dev/zero of=/dev/ada1 bs=1m count=1 # dd if=/dev/zero of=/dev/ada1 bs=1m count=1
 </cli> </cli>
- 
  
 === GPTを作成 === === GPTを作成 ===
-<cli>+<cli prompt="# ">
 # gpart create -s gpt ada0 # gpart create -s gpt ada0
 # gpart create -s gpt ada1 # gpart create -s gpt ada1
行 60: 行 60:
  
 === パーティション追加 === === パーティション追加 ===
-freebsd-zfs領域をHDD目一杯まで使ってしまうと、HDD交換時に微妙な容量の差でRAIDが組めなくなる事が起こりうるので、最後の150Mは保険として未使用領域にする。 +freebsd-zfs領域をHDD目一杯まで使ってしまうと、HDD交換時に微妙な容量の差でRAIDが組めなが起こりうるので、保険として末尾100M(こんなに要らないだろうけど念のため)を未使用領域にする。 
-<cli> +<cli prompt="# "
-# gpart add -b 40 -s 64k -t freebsd-boot ada0  # AFT対策としてセクタ40から使う +# gpart add -a 4k -s 64k -t freebsd-boot ada0      # AFT対策で-aで4kにアライメント 
-# gpart add -b 40 -s 64k -t freebsd-boot ada1 +# gpart add -a 4k -s 64k -t freebsd-boot ada1 
-# gpart add -s 10g -t freebsd-swap -l swap0 ada0 +# gpart add -a 4k -s 10g -t freebsd-swap -l swap0 ada0 
-# gpart add -s 10g -t freebsd-swap -l swap1 ada1 +# gpart add -a 4k -s 10g -t freebsd-swap -l swap1 ada1 
-# gpart add -s 1443870247 -t freebsd-zfs -l boot0a ada0 +# gpart add -a 4k -s 1443972647 -t freebsd-zfs ada0 
-# gpart add -s 1443870247 -t freebsd-zfs -l boot0b ada1+# gpart add -a 4k -s 1443972647 -t freebsd-zfs ada1
 # gpart show # gpart show
-=>        34  1465149101  ada0  GPT  (699G+=>     34  1339253  da0  GPT  (3.7G) [CORRUPT] 
-          34                  - free -  (3.0K+       34      128    1  freebsd-boot  (64k) 
-          40         128      freebsd-boot  (64K)+      162  1339125    2  freebsd-ufs  (653M) 
 + 
 +=>        34  1465149101  ada0  GPT  (698G
 +          34                  - free -  (3.0k
 +          40         128      freebsd-boot  (64k)
          168    20971520      freebsd-swap  (10G)          168    20971520      freebsd-swap  (10G)
-    20971688  1443870247     3  freebsd-zfs  (688G) +    20971688  1443972640     3  freebsd-zfs  (688G) 
-  1464841935      307200        - free -  (150M)+  1464944328      204807        - free -  (100M)
  
-=>        34  1465149101  ada1  GPT  (699G+=>        34  1465149101  ada1  GPT  (698G
-          34                  - free -  (3.0K+          34                  - free -  (3.0k
-          40         128      freebsd-boot  (64K)+          40         128      freebsd-boot  (64k)
          168    20971520      freebsd-swap  (10G)          168    20971520      freebsd-swap  (10G)
-    20971688  1443870247     3  freebsd-zfs  (688G) +    20971688  1443972640     3  freebsd-zfs  (688G) 
-  1464841935      307200        - free -  (150M)+  1464944328      204807        - free -  (100M)
 </cli> </cli>
  
 +=== ブートコード書き込み ===
 +<cli prompt="# ">
 +# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0
 +# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada1
 +</cli>
  
-1465149168 +=== ZFSプールの作成 === 
-WDC WD20EARX-00PASB0 3907029168セクタ=1862.6963GiB +ZFSを4kセクタに最適化するため、nopデバイス経由でプールを作成する。
-Hitachi HDS722020ALA330 3907029168セクタ=1863.0166GiB+
  
-トコド書き込み +ル生成時に決定されるZFSの内部パラメタashiftが12になっていればよく、値決定後はnopでアクセスする必要はないらしい。 
-gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0 +詳しくは[[http://www.allbsd.org/%7Ehrs/diary/201109.html#d0301|4KiB セクタの HDD と FreeBSD]]を参照されたし。
-gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada1+
  
-ZFSカーネルモジュールの読込み +<cli prompt="# "> 
-kldload /boot/kernel/opensolaris.ko  +# gnop create -S 4096 /dev/ada0p3 
-kldload /boot/kernel/zfs.ko +# gnop create -S 4096 /dev/ada1p3 
 +# zpool create zroot mirror /dev/ada0p3.nop /dev/ada1p3.nop 
 +zdb 
 +zroot: 
 +    version: 28 
 +    name: 'zroot' 
 +    state: 0 
 +    txg: 4 
 +    pool_guid: 3928702653704672869 
 +    hostname: '' 
 +    vdev_children:
 +    vdev_tree: 
 +        type: 'root' 
 +        id: 0 
 +        guid: 3928702653704672869 
 +        create_txg: 4 
 +        children[0]: 
 +            type: 'mirror' 
 +            id: 0 
 +            guid: 10151570094065059124 
 +            metaslab_array: 30 
 +            metaslab_shift: 32 
 +            ashift: 12    ← '12'になっていればOK 
 +            asize: 739309256704 
 +            is_log: 0 
 +            create_txg: 4 
 +            children[0]: 
 +                type: 'disk' 
 +                id: 0 
 +                guid: 4580562153177664810 
 +                path: '/dev/gpt/boot0a.nop' 
 +                phys_path: '/dev/gpt/boot0a.nop' 
 +                whole_disk: 1 
 +                create_txg: 4 
 +            children[1]: 
 +                type: 'disk' 
 +                id: 1 
 +                guid: 4968329952742307772 
 +                path: '/dev/gpt/boot0b.nop' 
 +                phys_path: '/dev/gpt/boot0b.nop' 
 +                whole_disk: 1 
 +                create_txg: 4 
 +# zpool export zroot 
 +# gnop destroy /dev/ada0p3.nop 
 +# gnop destroy /dev/ada1p3.nop 
 +# zpool import zroot 
 +</cli>
  
-Create ZFS Pool zroot  +=== ファイルシステムの作成と色々設定 === 
-zpool create zroot mirror /dev/gpt/boot0a /dev/gpt/boot0b +<cli prompt="# "> 
-zpool set bootfs=zroot zroot+# zfs set checksum=fletcher4 zroot 
 +# zfs set compression=on zroot 
 +</cli>
  
-zfs set checksum=fletcher4 zroot +Macからのアクセスを考慮してNFCにする。 
-zfs set compression=on zroot +<cli prompt="# "> 
-zfs create -o exec=on -o setuid=off zroot/tmp +zfs create -o normalization=formC zroot/ROOT 
-chmod 1777 /zroot/tmp+</cli>
  
-zfs create zroot/usr +<cli prompt="# "> 
-zfs create -o compression=gzip-9 zroot/usr/include +zfs create -o exec=on -o setuid=off zroot/ROOT/tmp 
-zfs create -o compression=gzip-9 zroot/usr/src +# chmod 1777 /zroot/ROOT/tmp
-zfs create zroot/usr/home +
-cd /zroot; ln -s /usr/home home+
  
-zfs create -o compression=gzip-9 -o setuid=off zroot/usr/ports +# zfs create zroot/ROOT/usr 
-zfs create -o compression=off -o exec=off -o setuid=off zroot/usr/ports/distfiles +zfs create -o compression=gzip-9 zroot/ROOT/usr/include 
-zfs create -o compression=off -o exec=off -o setuid=off zroot/usr/ports/packages+zfs create -o compression=gzip-zroot/ROOT/usr/src 
 +zfs create zroot/ROOT/usr/home
  
-zfs create zroot/var +# cd /zroot/ROOT; ln -/usr/home home 
-zfs create -o exec=off -o setuid=off zroot/var/crash +zfs create -o compression=gzip--o setuid=off zroot/ROOT/usr/ports 
-zfs create -o exec=off -o setuid=off zroot/var/db +zfs create -o compression=off -o exec=off -o setuid=off zroot/ROOT/usr/ports/distfiles 
-zfs create -o exec=on -o setuid=off zroot/var/db/pkg +zfs create -o compression=off -o exec=off -o setuid=off zroot/ROOT/usr/ports/packages
-zfs create -o exec=off -o setuid=off zroot/var/empty +
-zfs create -o exec=off -o setuid=off zroot/var/log +
-zfs create -o exec=off -o setuid=off zroot/var/mail +
-zfs create -o exec=off -o setuid=off zroot/var/run +
-zfs create -o exec=on -o setuid=off zroot/var/tmp +
-chmod 1777 /zroot/var/tmp+
  
-cd / +# zfs create zroot/ROOT/var 
-sh +# zfs create -o exec=off -o setuid=off -o compression=gzip-9 zroot/ROOT/var/crash 
-cd /8.2-RELEASE +# zfs create -o exec=off -o setuid=off zroot/ROOT/var/db 
-export DESTDIR=/zroot +# zfs create -o exec=on -o setuid=off -o compression=gzip-9 zroot/ROOT/var/db/pkg 
-for dir in base catpages dict doc games info lib32 manpages ports; do (cd $dir ; ./install.sh) ; done +zfs create -o exec=off -o setuid=off zroot/ROOT/var/empty 
-You are about to extract the base distribution into /zroot - are you SURE +# zfs create -o exec=off -o setuid=off -o compression=gzip-9 zroot/ROOT/var/log 
-you want to do this over your installed system (y/n)? y +# zfs create -o exec=off -o setuid=off -o compression=gzip-9 zroot/ROOT/var/mail 
-You are about to extract the doc distribution into /zroot - are you SURE +# zfs create -o exec=off -o setuid=off zroot/ROOT/var/run 
-you want to do this over your installed system (y/n)? y +# zfs create -o exec=on -o setuid=off -o compression=gzip-9 zroot/ROOT/var/tmp 
-Extracting ports tarball into /usr+# chmod 1777 /zroot/ROOT/var/tmp
  
-cd src ; ./install.sh all +# zpool set bootfs=zroot/ROOT zroot 
-cd ../kernels ; ./install.sh generic +</cli>
-cd /zroot/boot ; cp -Rlp GENERIC/* /zroot/boot/kernel/+
  
-zfs set readonly=on zroot/var/empty+===== OSのインストール ==== 
 +<cli prompt="# "> 
 +# sh 
 +# cd /usr/freebsd-dist/ 
 +# export DESTDIR=/zroot/ROOT 
 +# for file in base.txz lib32.txz kernel.txz doc.txz ports.txz src.txz games.txz ; 
 +> do (cat $file | tar --unlink -xpvJf - -C ${DESTDIR:-/}); done 
 +zfs set readonly=on zroot/ROOT/var/empty 
 +</cli>
  
-mount -t devfs devfs /zroot/dev +===== chrootしてOSの初期設定 ==== 
-chroot /zroot +<cli prompt="# "> 
-/usr/sbin/sysinstall +mount -t devfs devfs /zroot/ROOT/dev 
- +chroot /zroot/ROOT 
-Configure +/usr/sbin/sysinstall 
-Root Password +</cli> 
-> Networking +  Configure 
-Time Zone+    Root Password : rootパスワードの設定 
 +    * User Management 
 +      * User : ユーザーの追加 
 +    * Time Zone 
 +      * Select local or UTC (Greenwich Mean Time) clock : Yes (UTCで運用。JSTを使う場合はNo)  
 +      * Asia → Japan → Yes 
 +    * Networking 
 +      * Intarfaces 
 +        * bge0 
 +          * IPv6 configuration : No 
 +          * DFCP configuration : No 
 +          * 設定 
 +          * Bring up : No
  
-cat << EOF > /boot/loader.conf +=== /boot/loader.confの設定 === 
-ahci_load="NO"+<cli prompt="# "> 
 +cat << EOF > /boot/loader.conf
 opensolaris_load="YES" opensolaris_load="YES"
 zfs_load="YES" zfs_load="YES"
-vfs.root.mountfrom="zfs:zroot"+vfs.root.mountfrom="zfs:zroot/ROOT"
 cpufreq_load="YES" cpufreq_load="YES"
 vfs.zfs.txg.timeout="3" vfs.zfs.txg.timeout="3"
行 167: 行 235:
 vfs.zfs.arc_max="4G" vfs.zfs.arc_max="4G"
 EOF EOF
 +</cli>
  
-cat << EOF >> /etc/rc.conf+=== /etc/rc.confの設定 === 
 +<cli prompt="# "> 
 +cat << EOF >> /etc/rc.conf
 zfs_enable="YES" zfs_enable="YES"
 powerd_enable="YES" powerd_enable="YES"
行 176: 行 247:
 sshd_enable="YES" sshd_enable="YES"
 EOF EOF
 +</cli>
  
-cd /etc/mail +=== swapの設定 === 
-make aliases +<cli prompt="# "> 
- +cat << EOF > /etc/fstab 
-exit +#Device                       Mountpoint              FStype  Options         Dump    Pass#
-umount /zroot/dev +
- +
-cd / +
-zpool export zroot && zpool import zroot +
-cp /boot/zfs/zpool.cache /zroot/boot/zfs/ +
- +
-cat << EOF > /zroot/etc/fstab +
-# Device                       Mountpoint              FStype  Options         Dump    Pass#+
 /dev/gpt/swap0                 none                    swap    sw              0       0 /dev/gpt/swap0                 none                    swap    sw              0       0
 /dev/gpt/swap1                 none                    swap    sw              0       0 /dev/gpt/swap1                 none                    swap    sw              0       0
 EOF EOF
 +</cli>
  
-# export LD_LIBRARY_PATH=/lib +=== メールのエイリアスの生成 === 
-zfs unmount -a+<cli prompt="# "> 
 +# cd /etc/mail 
 +make aliases 
 +</cli>
  
-zfs set mountpoint=legacy zroot +=== chroot環境から抜ける === 
-zfs set mountpoint=/tmp zroot/tmp +<cli prompt="# "> 
-zfs set mountpoint=/usr zroot/usr +# exit 
-zfs set mountpoint=/var zroot/var+# umount /zroot/ROOT/dev 
 +</cli>
  
 +===== zpool.cacheの更新 =====
 +<cli prompt="# ">
 +# cd /
 +# zpool export zroot && zpool import zroot
 +# cp /boot/zfs/zpool.cache /zroot/ROOT/boot/zfs/
 +</cli>
  
-shから抜ける +===== マウントポイントの設定 ===== 
-exit+<cli prompt="# "> 
 +# export LD_LIBRARY_PATH=/lib 
 +# zfs unmount -a 
 +# zfs set mountpoint=legacy zroot/ROOT 
 +# zfs set mountpoint=/tmp zroot/ROOT/tmp 
 +# zfs set mountpoint=/usr zroot/ROOT/usr 
 +# zfs set mountpoint=/var zroot/ROOT/var 
 +</cli>
  
-sshから抜ける +===== 後始末 ===== 
-exit +<cli prompt="# "> 
- +# exit # shから抜ける 
-====== STABLEに更新 ====== +# exit # sshから抜ける 
-cp /usr/share/examples/cvsup/stable-supfile /usr/local/etc/cvsup/ +</cli>
-vi /usr/local/etc/cvsup/stable-supfile +
-/usr/bin/csup -g -L 2 /usr/local/etc/cvsup/stable-supfile +
  
 ====== 参考サイト ====== ====== 参考サイト ======
   * [[http://wiki.freebsd.org/RootOnZFS/GPTZFSBoot|RootOnZFS/GPTZFSBoot - FreeBSD Wiki]]   * [[http://wiki.freebsd.org/RootOnZFS/GPTZFSBoot|RootOnZFS/GPTZFSBoot - FreeBSD Wiki]]
-  * [[http://wirednoize.net/freebsd/index.php?FreeBSD%208.2%20Release%20amd64%20pure%20ZFS%20install|FreeBSD 8.2 Release amd64 pure ZFS install - PukiWiki]]+  * [[http://wirednoize.net/freebsd/index.php?FreeBSD%208.2%20Release%20amd64%20pure%20ZFS%20install|FreeBSD 8.2 Release amd64 pure ZFS install]] 
 +  * [[http://wirednoize.net/freebsd/index.php?FreeBSD%208.0%20STABLE%20amd64|FreeBSD 8.0 STABLE amd64]]
   * [[http://blog.livedoor.jp/dankogai/archives/51697097.html|404 Blog Not Found:備忘録 - HP ProLiant MicroServer + FreeBSD + ZFS]]   * [[http://blog.livedoor.jp/dankogai/archives/51697097.html|404 Blog Not Found:備忘録 - HP ProLiant MicroServer + FreeBSD + ZFS]]
   * [[http://d.akinori.org/2010/04/15/wd15ears%E3%81%AE%E6%80%A7%E8%83%BD%E3%82%92%E8%A8%88%E6%B8%AC/|工夫と趣向と分別と。 – WD15EARSの性能を計測]]   * [[http://d.akinori.org/2010/04/15/wd15ears%E3%81%AE%E6%80%A7%E8%83%BD%E3%82%92%E8%A8%88%E6%B8%AC/|工夫と趣向と分別と。 – WD15EARSの性能を計測]]
行 221: 行 302:
   * [[http://www.freebsd.org/cgi/man.cgi?query=hier&sektion=7|HIER(7) FreeBSD Miscellaneous Information Manual]]   * [[http://www.freebsd.org/cgi/man.cgi?query=hier&sektion=7|HIER(7) FreeBSD Miscellaneous Information Manual]]
   * [[http://d.hatena.ne.jp/murank/20110123/1295777623|FreeBSD 8.1 on ZFS-boot - murankの日記]]   * [[http://d.hatena.ne.jp/murank/20110123/1295777623|FreeBSD 8.1 on ZFS-boot - murankの日記]]
 +  * [[http://www.aisecure.net/2011/05/01/root-on-zfs-freebsd-current/|Root On ZFS @ FreeBSD 9 Current | aisecure.net]]
 +  * [[http://d.hatena.ne.jp/mteramoto/20101219/1292733916|FreeBSD 8.1-RELEASEでGPTなHDDにZFSでRootを確保してそこからbootする - mteramotoの日記]]
  
  • freebsd/001_020_proliant_microserver高機能nas化計画_osインストール編.1316224901.txt.gz
  • 最終更新: 2011-09-17 11:01
  • by Decomo