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

差分

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

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

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
freebsd:001_020_proliant_microserver高機能nas化計画_osインストール編 [2011-10-19 01:16]
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 prompt="# ">
-mdconfig -a -t malloc -s 2048M -u 10 +umount /dev/md1 
-# newfs -U /dev/md10 +mdmfs -s 2048m md1 /tmp 
-mkdir /mdisk +mkdir /tmp/dist 
-mount /dev/md10 /mdisk +find . ! -regex '\./tmp' | cpio -pd /tmp/dist
-cp -pR /dist /mdisk+
 </cli> </cli>
  
-<cli> +=== コピーした環境へ入る ===
-umount /dev/md1 +
-mdmfs -s 2048m md1 /tmp +
-mkdir /tmp/dist +
-find . ! -regex '\./tmp' | cpio -pd /tmp/dist +
-</cli> +
- +
-=== 読み書き可能なFixit環境へ入る ===+
 <cli prompt="# "> <cli prompt="# ">
-# mount -t devfs devfs /mdisk/dist/dev +# mount -t devfs devfs /tmp/dist/dev 
-# chroot /mdisk/dist+# chroot /tmp/dist
 </cli> </cli>
  
行 32: 行 30:
  
 === sshdの起動 === === sshdの起動 ===
- 
 <cli prompt="# "> <cli prompt="# ">
 # echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config # echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
行 40: 行 37:
  
 === rootパスワードの設定 === === rootパスワードの設定 ===
- 
 <cli prompt="# "> <cli prompt="# ">
 # passwd # passwd
行 56: 行 52:
 # 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を作成 ===
行 65: 行 60:
  
 === パーティション追加 === === パーティション追加 ===
-freebsd-zfs領域をHDD目一杯まで使ってしまうと、HDD交換時に微妙な容量の差でRAIDが組めない事態が起こりうるので、最後の150Mは保険として未使用領域にする。+freebsd-zfs領域をHDD目一杯まで使ってしまうと、HDD交換時に微妙な容量の差でRAIDが組めない事態が起こりうるので、保険として末尾100M(こんなに要らないだろうけど念のため)を未使用領域にする。
 <cli prompt="# "> <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 1443972647 -t freebsd-zfs ada0 +# gpart add -a 4k -s 1443972647 -t freebsd-zfs ada0 
-# gpart add -s 1443972647 -t freebsd-zfs ada1+# gpart add -a 4k -s 1443972647 -t freebsd-zfs ada1
 # gpart show # gpart show
 =>     34  1339253  da0  GPT  (3.7G) [CORRUPT] =>     34  1339253  da0  GPT  (3.7G) [CORRUPT]
行 91: 行 86:
     20971688  1443972640      freebsd-zfs  (688G)     20971688  1443972640      freebsd-zfs  (688G)
   1464944328      204807        - free -  (100M)   1464944328      204807        - free -  (100M)
- 
 </cli> </cli>
  
行 100: 行 94:
 </cli> </cli>
  
-gnop create -S 4096 /dev/ada0p3 +=== ZFSプールの作成 === 
-gnop create -S 4096 /dev/ada1p3+ZFSを4kセクタに最適化するため、nopデバイス経由でプールを作成する。 
 + 
 +プール生成時に決定されるZFSの内部パラメータashiftが12になっていればよく、値決定後はnopでアクセスする必要はないらしい。 
 +詳しくは[[http://www.allbsd.org/%7Ehrs/diary/201109.html#d0301|4KiB セクタの HDD と FreeBSD]]を参照されたし。
  
-=== ZFSプールの作成 === 
 <cli prompt="# "> <cli prompt="# ">
 +# gnop create -S 4096 /dev/ada0p3
 +# gnop create -S 4096 /dev/ada1p3
 # zpool create zroot mirror /dev/ada0p3.nop /dev/ada1p3.nop # zpool create zroot mirror /dev/ada0p3.nop /dev/ada1p3.nop
-</cli> 
- 
 # zdb # zdb
 zroot: zroot:
行 128: 行 124:
             metaslab_array: 30             metaslab_array: 30
             metaslab_shift: 32             metaslab_shift: 32
-            ashift: 12+            ashift: 12    ← '12'になっていればOK
             asize: 739309256704             asize: 739309256704
             is_log: 0             is_log: 0
行 148: 行 144:
                 whole_disk: 1                 whole_disk: 1
                 create_txg: 4                 create_txg: 4
- +zpool export zroot 
-zpool export zroot +gnop destroy /dev/ada0p3.nop 
-gnop destroy /dev/ada0p3.nop +gnop destroy /dev/ada1p3.nop 
-gnop destroy /dev/ada1p3.nop +zpool import zroot 
-zpool import zroot+</cli>
  
 === ファイルシステムの作成と色々設定 === === ファイルシステムの作成と色々設定 ===
 <cli prompt="# "> <cli prompt="# ">
-zfs set checksum=fletcher4 zroot +zfs set checksum=fletcher4 zroot 
-zfs set compression=on zroot +zfs set compression=on zroot 
-zfs create -o normalization=formC zroot/ROOT +</cli> 
-zfs create -o exec=on -o setuid=off zroot/ROOT/tmp + 
-chmod 1777 /zroot/ROOT/tmp+Macからのアクセスを考慮してNFCにする。 
 +<cli prompt="# "> 
 +zfs create -o normalization=formC zroot/ROOT 
 +</cli> 
 + 
 +<cli prompt="# "> 
 +zfs create -o exec=on -o setuid=off zroot/ROOT/tmp 
 +chmod 1777 /zroot/ROOT/tmp
  
-zfs create zroot/ROOT/usr +zfs create zroot/ROOT/usr 
-zfs create -o compression=gzip-9 zroot/ROOT/usr/include +zfs create -o compression=gzip-9 zroot/ROOT/usr/include 
-zfs create -o compression=gzip-9 zroot/ROOT/usr/src +zfs create -o compression=gzip-9 zroot/ROOT/usr/src 
-zfs create zroot/ROOT/usr/home+zfs create zroot/ROOT/usr/home
  
-cd /zroot/ROOT; ln -s /usr/home home +cd /zroot/ROOT; ln -s /usr/home home 
-zfs create -o compression=gzip-9 -o setuid=off zroot/ROOT/usr/ports +zfs create -o compression=gzip-9 -o setuid=off zroot/ROOT/usr/ports 
-zfs create -o compression=off -o exec=off -o setuid=off zroot/ROOT/usr/ports/distfiles +zfs create -o compression=off -o exec=off -o setuid=off zroot/ROOT/usr/ports/distfiles 
-zfs create -o compression=off -o exec=off -o setuid=off zroot/ROOT/usr/ports/packages+zfs create -o compression=off -o exec=off -o setuid=off zroot/ROOT/usr/ports/packages
  
-zfs create zroot/ROOT/var +zfs create zroot/ROOT/var 
-zfs create -o exec=off -o setuid=off -o compression=gzip-9 zroot/ROOT/var/crash +zfs create -o exec=off -o setuid=off -o compression=gzip-9 zroot/ROOT/var/crash 
-zfs create -o exec=off -o setuid=off zroot/ROOT/var/db +zfs create -o exec=off -o setuid=off zroot/ROOT/var/db 
-zfs create -o exec=on -o setuid=off -o compression=gzip-9 zroot/ROOT/var/db/pkg +zfs create -o exec=on -o setuid=off -o compression=gzip-9 zroot/ROOT/var/db/pkg 
-zfs create -o exec=off -o setuid=off zroot/ROOT/var/empty +zfs create -o exec=off -o setuid=off zroot/ROOT/var/empty 
-zfs create -o exec=off -o setuid=off -o compression=gzip-9 zroot/ROOT/var/log +zfs create -o exec=off -o setuid=off -o compression=gzip-9 zroot/ROOT/var/log 
-zfs create -o exec=off -o setuid=off -o compression=gzip-9 zroot/ROOT/var/mail +zfs create -o exec=off -o setuid=off -o compression=gzip-9 zroot/ROOT/var/mail 
-zfs create -o exec=off -o setuid=off zroot/ROOT/var/run +zfs create -o exec=off -o setuid=off zroot/ROOT/var/run 
-zfs create -o exec=on -o setuid=off -o compression=gzip-9 zroot/ROOT/var/tmp +zfs create -o exec=on -o setuid=off -o compression=gzip-9 zroot/ROOT/var/tmp 
-chmod 1777 /zroot/ROOT/var/tmp+chmod 1777 /zroot/ROOT/var/tmp
  
-zpool set bootfs=zroot/ROOT zroot+zpool set bootfs=zroot/ROOT zroot
 </cli> </cli>
  
行 193: 行 196:
 # for file in base.txz lib32.txz kernel.txz doc.txz ports.txz src.txz games.txz ; # 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 > do (cat $file | tar --unlink -xpvJf - -C ${DESTDIR:-/}); done
- 
 # zfs set readonly=on zroot/ROOT/var/empty # zfs set readonly=on zroot/ROOT/var/empty
 </cli> </cli>
  
-===== chrootして初期設定 ====+===== chrootしてOSの初期設定 ====
 <cli prompt="# "> <cli prompt="# ">
 # mount -t devfs devfs /zroot/ROOT/dev # mount -t devfs devfs /zroot/ROOT/dev
行 203: 行 205:
 # /usr/sbin/sysinstall # /usr/sbin/sysinstall
 </cli> </cli>
-Configure +  * Configure 
-Root Password +    Root Password : rootパスワードの設定 
-> Networking +    * User Management 
->> Interfaces +      * User : ユーザーの追加 
-Time Zone+    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
  
 === /boot/loader.confの設定 === === /boot/loader.confの設定 ===
行 214: 行 225:
 opensolaris_load="YES" opensolaris_load="YES"
 zfs_load="YES" zfs_load="YES"
-vfs.root.mountfrom="zfs:zroot/sys"+vfs.root.mountfrom="zfs:zroot/ROOT"
 cpufreq_load="YES" cpufreq_load="YES"
 vfs.zfs.txg.timeout="3" vfs.zfs.txg.timeout="3"
行 246: 行 257:
 EOF EOF
 </cli> </cli>
- 
  
 === メールのエイリアスの生成 === === メールのエイリアスの生成 ===
行 266: 行 276:
 # cp /boot/zfs/zpool.cache /zroot/ROOT/boot/zfs/ # cp /boot/zfs/zpool.cache /zroot/ROOT/boot/zfs/
 </cli> </cli>
- 
  
 ===== マウントポイントの設定 ===== ===== マウントポイントの設定 =====
行 277: 行 286:
 # zfs set mountpoint=/var zroot/ROOT/var # zfs set mountpoint=/var zroot/ROOT/var
 </cli> </cli>
- 
  
 ===== 後始末 ===== ===== 後始末 =====
行 284: 行 292:
 # exit # sshから抜ける # exit # sshから抜ける
 </cli> </cli>
- 
-====== STABLEに更新 ====== 
-8.2-RELEASEでAHCIを有効にすると、Marvellのチップを積んだSATAカードからのブートが「ROOT MOUNT ERROR」で失敗するため、STABLEに更新する(参考:[[http://groups.google.com/group/mailing.freebsd.bugs/browse_thread/thread/a17eb9bfe6567edc/8406457decff0fdd|kern/153665: [ahci] AHCI module unconsistent behaviour with SATA3 disk and SATA3 enabled controller]])。 
-この情報を見つけるまで、設定を変えたり何度も再インストールしたりと凄く苦労した・・・。 
- 
-8.3-RELEASE以降では修正されると思われる。 
- 
-cp /usr/share/examples/cvsup/stable-supfile /usr/local/etc/cvsup/ 
-vi /usr/local/etc/cvsup/stable-supfile 
-/usr/bin/csup -g -L 2 /usr/local/etc/cvsup/stable-supfile  
  
 ====== 参考サイト ====== ====== 参考サイト ======
行 304: 行 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インストール編.1318954569.txt.gz
  • 最終更新: 2011-10-19 01:16
  • by Decomo