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

差分

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

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

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
freebsd:001_020_proliant_microserver高機能nas化計画_osインストール編 [2011-11-03 11:23]
Decomo
freebsd:001_020_proliant_microserver高機能nas化計画_osインストール編 [2020-12-03 19:36] (現在)
行 6: 行 6:
   * FreeBSD 9.0-BETA3   * FreeBSD 9.0-BETA3
  
-詳細は[[pc:freebsd:001_010_proliant_microserver高機能nas化計画_構想編]]参照。+詳細は[[pc:freebsd:001_010_proliant_microserver高機能nas化計画_構想編|ProLiant MicroServer高機能NAS化計画(構想編)]]参照。
  
 ===== sshで入れるFixit環境の作成 ===== ===== sshで入れるFixit環境の作成 =====
行 26: 行 26:
 === ネットワークの設定 === === ネットワークの設定 ===
 <cli prompt="# "> <cli prompt="# ">
-ifconfig bge0 192.168.65.1 netmask 255.255.255.0 +ifconfig bge0 192.168.65.1 netmask 255.255.255.0 
-</code>+</cli>
  
 === sshdの起動 === === sshdの起動 ===
-<code bash+<cli prompt="# "
-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 
-/etc/rc.d/sshd start +/etc/rc.d/sshd start 
-</code>+</cli>
  
 === rootパスワードの設定 === === rootパスワードの設定 ===
行 52: 行 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を作成 ===
行 61: 行 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]
行 87: 行 86:
     20971688  1443972640      freebsd-zfs  (688G)     20971688  1443972640      freebsd-zfs  (688G)
   1464944328      204807        - free -  (100M)   1464944328      204807        - free -  (100M)
- 
 </cli> </cli>
  
行 96: 行 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:
行 124: 行 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
行 144: 行 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+
  
-zfs create zroot/ROOT/usr +Macからのアクセスを考慮してNFCにする。 
-zfs create -o compression=gzip-9 zroot/ROOT/usr/include +<cli prompt="# "> 
-zfs create -o compression=gzip-9 zroot/ROOT/usr/src +zfs create -o normalization=formC zroot/ROOT 
-zfs create zroot/ROOT/usr/home+</cli>
  
-cd /zroot/ROOT; ln -s /usr/home home +<cli prompt="# "> 
-zfs create -o compression=gzip-9 -o setuid=off zroot/ROOT/usr/ports +zfs create -o exec=on -o setuid=off zroot/ROOT/tmp 
-zfs create -o compression=off -o exec=off -o setuid=off zroot/ROOT/usr/ports/distfiles +# chmod 1777 /zroot/ROOT/tmp
-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/usr 
-zfs create -o exec=off -o setuid=off -o compression=gzip-9 zroot/ROOT/var/crash +zfs create -o compression=gzip-9 zroot/ROOT/usr/include 
-zfs create -o exec=off -o setuid=off zroot/ROOT/var/db +zfs create -o compression=gzip-9 zroot/ROOT/usr/src 
-zfs create -o exec=on -o setuid=off -o compression=gzip-9 zroot/ROOT/var/db/pkg +zfs create zroot/ROOT/usr/home
-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/mail +
-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 +
-chmod 1777 /zroot/ROOT/var/tmp+
  
-zpool set bootfs=zroot/ROOT zroot+# 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=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 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 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=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/mail 
 +# 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 
 +# chmod 1777 /zroot/ROOT/var/tmp 
 + 
 +zpool set bootfs=zroot/ROOT zroot
 </cli> </cli>
  
行 189: 行 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
行 199: 行 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の設定 ===
行 210: 行 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"
行 242: 行 257:
 EOF EOF
 </cli> </cli>
- 
  
 === メールのエイリアスの生成 === === メールのエイリアスの生成 ===
行 262: 行 276:
 # cp /boot/zfs/zpool.cache /zroot/ROOT/boot/zfs/ # cp /boot/zfs/zpool.cache /zroot/ROOT/boot/zfs/
 </cli> </cli>
- 
  
 ===== マウントポイントの設定 ===== ===== マウントポイントの設定 =====
行 273: 行 286:
 # zfs set mountpoint=/var zroot/ROOT/var # zfs set mountpoint=/var zroot/ROOT/var
 </cli> </cli>
- 
  
 ===== 後始末 ===== ===== 後始末 =====
行 280: 行 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  
  
 ====== 参考サイト ====== ====== 参考サイト ======
行 300: 行 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インストール編.1320286988.txt.gz
  • 最終更新: 2011-11-03 11:23
  • by Decomo