Transcend USB3.0/2.0 2.5インチ ポータブルHDD「TS1TSJ25D3」、iBUFFALO USB2.0ハブ 「BSH4A01BK」を買っておいたので、こちらからOSを起動するように変更。

  • Windows上でMiniTool Partition Wizard Home Editionを使って、Raspberry PiのOSをインストールしてあるSDカードのFATパーティションを別のSDカードにコピーしてHDD起動用のSDカードを作る。このSDカードは/bootの内容しか入らないので大して容量はいらない。余っていた昔々の128MBのカードを使用。一応、FATパーティションのコピー後にサイズを大きくしておいた。
  • 同様にExt4パーティションをUSB-HDDにコピー。もともとのSDカードが16GBのものだったのでこのパーティションサイズは15GB弱だったのでサイズはそのまま。小さなSDカードを使った場合はパーティションサイズを大きくしておいたほうが良いだろう。余ったスペースを別パーティションでExt4でフォーマット。
  • USB-HDDを接続してPiを起動。BSH4A01BKに付属のACアダプターは2.3Aのものなので、これだけでHDDとPiをカバーできている。
  • 起動中の画面でHDDのデバイス名を確認。sda1とsda2になっていた。
  • sda1をマウントしてHDD内の/etc/fstabのルートパーティションの指定を変更し、Piをシャットダウン。
    % sudo mkdir /ext
    % sudo mount -t ext4 /dev/sda1 /ext
    % sudo vi /ext/etc/fstab
          #/dev/mmcblk0p2  /     ext4    defaults,noatime  0  1
          /dev/sda1        /     ext4    defaults,noatime  0  1
    % sudo umount /dev/sda1
    % sudo halt
  • HDD起動用のSDカードをPCにつないで、その中にある”cmdline.txt”をオープンし、”root=/dev/mmcblk0p2″を”root=/dev/sda1″に変更。
  • HDD起動用のSDカードをPiに差し込んで起動。
  • HDDの2ndパーティション用のマウントポイントを作成。
    % sudo mkdir /ext
  • /etc/fstabに2ndパーティションを追加。
    % sudo vi /etc/fstab
          /dev/sda1        /     ext4    defaults,noatime  0  1
          /dev/sda2        /ext  ext4    defaults,noatime  0  2
  • HDDのマウントを確認。
    % sudo mount -a
  • リブートし、HDDが正常に自動的にマウントされていることを確認。
    % sudo reboot

ちなみこのあとに消費電力をワットメータで測ってみたら全部で6W程度だった。省エネサーバで元気に動き続けることに期待。USB-HDDがスリープすると問題があるようなことが書いてあったので、また確認が必要。 -> 数日動作させ続けたが特に問題は無いようだ。(12/28)