CONTENTS
Lastmodified 2017-04-01 (土) 17:37:14
ML110 G7 OSレスモデル 6473360-AHZN (HP(旧コンパック))のデフォルトMemoryは2GB、HDD250GB
2013年6月1日現在の時点で当該モデル上でZFSrootな環境では、リブートに失敗する。っていうかシャットダウン出来ない。
http://www.nekolove.jp/wp/archives/2012/11/20121108105449.php
そこで、システムはUFSで、ユーザのデータ(/usr/home)はZFSで行くことにする。
デフォルト同梱の250GBのHDDへ、FreeBSD9.1RをDVD1を用いて普通に?UFSででインストール。このとき、一般ユーザを作らなければ/usr/homeはない。
root@g7:/boot/zfs # df -h Filesystem Size Used Avail Capacity Mounted on /dev/ada0p2 220G 3.6G 199G 2% / devfs 1.0k 1.0k 0B 100% /dev
の様になっている。勿論、/以下には、/usr/home やリンクはない。
で、ここで500GBのHDD3基を残りのベイに挿して、
zpool create tank raidz1 ada1 ada2 ada3
する。と、
root@g7:/boot/zfs # zpool status pool: tank state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 ada1 ONLINE 0 0 0 ada2 ONLINE 0 0 0 ada3 ONLINE 0 0 0 errors: No known data errors
このtankを/usr/homeにする
g7# zfs set mountpoint=/usr/home tank
流儀に則ってリンクを作る
g7# ln -s /usr/home/ /home
と、こうなる
root@g7:/boot/zfs # df -h Filesystem Size Used Avail Capacity Mounted on /dev/ada0p2 220G 3.6G 199G 2% / devfs 1.0k 1.0k 0B 100% /dev tank 912G 40k 912G 0% /usr/home
で、rebootすると、
messagesにこんなログを吐いて
Jun 1 12:48:43 g7 kernel: ZFS NOTICE: Prefetch is disabled by default if less than 4GB of RAM is present; Jun 1 12:48:43 g7 kernel: to enable, add "vfs.zfs.prefetch_disable=0" to /boot/loader.conf. Jun 1 12:48:43 g7 kernel: ZFS filesystem version 5 Jun 1 12:48:43 g7 kernel: ZFS storage pool version 28
/usr/home が見えなくなります。
Filesystem Size Used Avail Capacity Mounted on /dev/ada0p2 220G 3.6G 199G 2% / devfs 1.0k 1.0k 0B 100% /dev
このとき、
g7# cd /boot/zfs g7# zpool export tank g7# zpool import tank
すれば、
tank 912G 40k 912G 0% /usr/home
が再び現れます。(^_^;
コレの回避策は、4GB以上メモリーを積むか、
/boot/loader.conf
vfs.zfs.prefetch_disable=0
のどちらか・・・です。
というのは、ウソでした(^^ゞ
8GBのメモリーを積んでみました。起動時に
ZFS NOTICE: Prefetch is disabled by default if less than 4GB of RAM is present;
というログは消えましたが、
root@G7:/dev # df -h Filesystem Size Used Avail Capacity Mounted on /dev/ada0p2 220G 3.5G 199G 2% / devfs 1.0k 1.0k 0B 100% /dev
tank 912G 40k 912G 0% /usr/home
最下段のtankの行は出てきません。/etc/fstabに書くのかな・・・じゃなくて(^^ゞ
https://www.bsdconsulting.co.jp/DOWNLOAD/FREEBSDSTUDY-013.SATO.pdf
によれば、
/etc/fstab は見ない。
/etc/rc.conf
zfs_enable="YES"
/boot/loader.conf
zfs_load="YES"
を書くべし。とのことでした。
システムは、、/dev/ada0上にあって、物理的には一番ベイにある。で、ada1~3の三基のHDDでraidz1を組むということなのだけど、実際にHDDを2番ベイに一基増やすと、
Jun 6 10:04:49 G7 kernel: ada0 at ata2 bus 0 scbus0 target 0 lun 0 Jun 6 10:04:49 G7 kernel: ada0: <VB0250EAVER HPG9> ATA-8 SATA 2.x device Jun 6 10:04:49 G7 kernel: ada0: 300.000MB/s transfers (SATA 2.x, UDMA5, PIO 8192bytes) Jun 6 10:04:49 G7 kernel: ada0: 238475MB (488397168 512 byte sectors: 16H 63S/T 16383C) Jun 6 10:04:49 G7 kernel: ada0: Previously was known as ad4 Jun 6 10:04:49 G7 kernel: ada1 at ata2 bus 0 scbus0 target 1 lun 0 Jun 6 10:04:49 G7 kernel: ada1: <WDC WD5000AZLX-00K4KA0 80.00A80> ATA-8 SATA 3.x device Jun 6 10:04:49 G7 kernel: ada1: 600.000MB/s transfers (SATA 3.x, UDMA5, PIO 8192bytes) Jun 6 10:04:49 G7 kernel: ada1: 476940MB (976773168 512 byte sectors: 16H 63S/T 16383C)
の様になる。で、その隣の3番ベイにHitachのHDDをさすと・・・
Jun 6 10:04:49 G7 kernel: ada0 at ata2 bus 0 scbus0 target 0 lun 0 Jun 6 10:04:49 G7 kernel: ada0: <VB0250EAVER HPG9> ATA-8 SATA 2.x device Jun 6 10:04:49 G7 kernel: ada0: 300.000MB/s transfers (SATA 2.x, UDMA5, PIO 8192bytes) Jun 6 10:04:49 G7 kernel: ada0: 238475MB (488397168 512 byte sectors: 16H 63S/T 16383C) Jun 6 10:04:49 G7 kernel: ada0: Previously was known as ad4 Jun 6 10:04:49 G7 kernel: ada1 at ata2 bus 0 scbus0 target 1 lun 0 Jun 6 10:04:49 G7 kernel: ada1: <Hitachi HDP725050GLA360 GM4OA52A> ATA-8 SATA 2.x device Jun 6 10:04:49 G7 kernel: ada1: 300.000MB/s transfers (SATA 2.x, UDMA5, PIO 8192bytes) Jun 6 10:04:49 G7 kernel: ada1: 476940MB (976773168 512 byte sectors: 16H 63S/T 16383C) Jun 6 10:04:49 G7 kernel: ada1: Previously was known as ad5 Jun 6 10:04:49 G7 kernel: ada2 at ata3 bus 0 scbus1 target 0 lun 0 Jun 6 10:04:49 G7 kernel: ada2: <WDC WD5000AZLX-00K4KA0 80.00A80> ATA-8 SATA 3.x device Jun 6 10:04:49 G7 kernel: ada2: 600.000MB/s transfers (SATA 3.x, UDMA5, PIO 8192bytes) Jun 6 10:04:49 G7 kernel: ada2: 476940MB (976773168 512 byte sectors: 16H 63S/T 16383C) Jun 6 10:04:49 G7 kernel: ada2: Previously was known as ad6
Jun 6 11:18:19 G7 kernel: ada0 at ata2 bus 0 scbus0 target 0 lun 0 Jun 6 11:18:19 G7 kernel: ada0: <VB0250EAVER HPG9> ATA-8 SATA 2.x device Jun 6 11:18:19 G7 kernel: ada0: 300.000MB/s transfers (SATA 2.x, UDMA5, PIO 8192bytes) Jun 6 11:18:19 G7 kernel: ada0: 238475MB (488397168 512 byte sectors: 16H 63S/T 16383C) Jun 6 11:18:19 G7 kernel: ada0: Previously was known as ad4 Jun 6 11:18:19 G7 kernel: ada1 at ata2 bus 0 scbus0 target 1 lun 0 Jun 6 11:18:19 G7 kernel: ada1: <Hitachi HDP725050GLA360 GM4OA52A> ATA-8 SATA 2.x device Jun 6 11:18:19 G7 kernel: ada1: 300.000MB/s transfers (SATA 2.x, UDMA5, PIO 8192bytes) Jun 6 11:18:19 G7 kernel: ada1: 476940MB (976773168 512 byte sectors: 16H 63S/T 16383C) Jun 6 11:18:19 G7 kernel: ada1: Previously was known as ad5 Jun 6 11:18:19 G7 kernel: ada2 at ata3 bus 0 scbus1 target 0 lun 0 Jun 6 11:18:19 G7 kernel: ada2: <WDC WD5000AZLX-00K4KA0 80.00A80> ATA-8 SATA 3.x device Jun 6 11:18:19 G7 kernel: ada2: 600.000MB/s transfers (SATA 3.x, UDMA5, PIO 8192bytes) Jun 6 11:18:19 G7 kernel: ada2: 476940MB (976773168 512 byte sectors: 16H 63S/T 16383C) Jun 6 11:18:19 G7 kernel: ada2: Previously was known as ad6 Jun 6 11:18:19 G7 kernel: ada3 at ata3 bus 0 scbus1 target 1 lun 0 Jun 6 11:18:19 G7 kernel: ada3: <Hitachi HDP725050GLA360 GM4OA5CA> ATA-8 SATA 2.x device Jun 6 11:18:19 G7 kernel: ada3: 300.000MB/s transfers (SATA 2.x, UDMA5, PIO 8192bytes) Jun 6 11:18:19 G7 kernel: ada3: 476940MB (976773168 512 byte sectors: 16H 63S/T 16383C) Jun 6 11:18:19 G7 kernel: ada3: Previously was known as ad7
こうなってしまう。WDのHDDが、ada1からada2に変わっている。自動認識した順番だそうな・・・(´・ω・`)
トラブル時などに混乱しないように、物理的ベイと一致させて固定化したい所。
http://wiki.rookie-inc.com/os/nas4free/fixdevicenum
http://www.freebsd.org/doc/ja/books/handbook/device-hints.html
http://wirednoize.net/freebsd/index.php?FreeBSD%208.2%20Release%20AHCI%20to%20CAM
device.hintsに記述して、デバイス番号を固定化するヨロシ
hint.scbus.0.at="ahcich10" hint.ada.0.at="scbus0" hint.scbus.1.at="ahcich11" hint.ada.1.at="scbus1"
hint.scbus.0.at="ahcich12" hint.ada.2.at="scbus0" hint.scbus.1.at="ahcich13" hint.ada.3.at="scbus1"
echo 'hint.scbus.0.at="ahcich0"' >> /boot/device.hints echo 'hint.ada.0.at="scbus0"' >> /boot/device.hints echo 'hint.scbus.1.at="ahcich1"' >> /boot/device.hints echo 'hint.ada.1.at="scbus1"' >> /boot/device.hints echo 'hint.scbus.2.at="ahcich2"' >> /boot/device.hints echo 'hint.ada.2.at="scbus2"' >> /boot/device.hints echo 'hint.scbus.3.at="ahcich3"' >> /boot/device.hints echo 'hint.ada.3.at="scbus3"' >> /boot/device.hints echo 'hint.scbus.4.at="ahcich4"' >> /boot/device.hints echo 'hint.ada.4.at="scbus4"' >> /boot/device.hints echo 'hint.scbus.5.at="ahcich5"' >> /boot/device.hints echo 'hint.ada.5.at="scbus5"' >> /boot/device.hints
Total access 4087:本日 1:昨日 0