2015年4月11日土曜日

キャッシュサーバとownCloudサーバをRaspberryPi2に移行する-IPv6対応(2)

■RaspbianをUSB-SSDから起動させる


 USBメディアから起動させる方法は、調べればチラチラ出てきます。
 無駄なくキチンとやりたい場合は、以下のようなページを参考にどうぞ。

- 屋根裏Linux
05 Raspberry PiファイルシステムHDD化 その1/3 (HDD接続~データ移行)

- 月と杜
Raspberry Pi USB HDD起動

 自分の場合は…面倒なので、以下の方法を取りました。
 富豪的アプローチで良ければこちらをどうそ。

  1. 4GB以上のmiscroSDカードにRaspbianを焼く
  2. そのままUSB-SSDにもRaspbianを焼く
  3. 1.で焼いたmicroSDカードのconfig.txtとcmdline.txtを書き換える
  4. GParted等のパーティション操作ツールでSSD上のext領域を拡張する

…というもの。SSDの先頭60MBくらいは無駄に空くけど、FATフォーマットして設定ファイルのバックアップ先として使ってもいいんじゃないの?(適当)

 1.と2.は…特に特殊なことはせず、3.ではUSBの電力アップと、起動先の変更のために以下を変更。

【config.txtに追記】

safe_mode_gpio=4
max_usb_current=1
gpu_mem=16

【cmdline.txtを変更】

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/sda2 rootfstype=ext4 elevator=deadline rootwait

 microSDはFAT領域に書かれた内容(/boot)しか使わないので、容量が少ない別のmicroSDをFATフォーマットして、そっちに内容を移してもいい。自分は1GBのmicroSDに内容を移して使っている。

 4.も各自好きな方法で…LiveCDとかUSBからUbuntuとかのLinuxを立ち上げてGPartedを使ったり、PartitionMagicを使ったりとかで。
 自分の場合はEeePC901X上のLinuxBeanでGPartedを使って拡張した。
 ちなみに、raspi-configで4.をやろうとしても、「SDカードじゃないからできないよ」的なメッセージが出るので注意。

 sda2を最大拡張してもいいけど、inodeが気になる人は別パーティションを作って、SquidのキャッシュとかownCloudのデータをそっちに退避させると良いかも。

 ここまでで準備したmicroSDとUSB-SSDとUSB-GbEアダプタと、ひとまずHDMIとUSBキーボードもRPi2に繋いで、電源オン。

 raspi-configとかrpi-updateとかする前に、まずはUSB-GbEアダプタを使えるように設定。
$ sudo nano /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth1
iface eth1 inet static
address [RPi2 IPAddress]
netmask 255.255.255.0
gateway [Gateway IPAddress]
broadcast [Broadcast IPAddress]
 broadcastは無くても良いが…。

■IPv6対応&ポート閉塞


 次に、IPv6対応させるための設定。(IPv6対応させない場合は飛ばして良い)
 ついでに、音なんて鳴らさないのでサウンドモジュールはコメントアウト。
$ sudo nano /etc/modules
#snd-bcm2835
ipv6
 後はraspi-configでお好きな初期設定を。
$ sudo raspi-config
一応、raspi-config自体をupdateして、

  • Xを起動しない
  • サーバ名変更
  • timezone変更
  • ja-JP.UTF-8とja-JP.EUCの追加(LANGはen-GB.UTF-8のまま)
  • enable SSH

をするくらいか。RPi2の場合はoverclockしなくてもよいかと。
 さらに、サーバとして使用するのに不要なパッケージを削除。
$ sudo aptitude

 出てくるメニューから、以下の項目を探して“_”→“g”→“g”でパッケージ削除。

  • X11
  • gnome

 さらにdbus関連と、何やら残るゴミも削除。
$ sudo apt-get remove dbus
$ sudo apt-get autoremove
$ sudo apt-get autoclean
$ rm -rf /home/pi/python_games/
$ sudo rmdir /usr/local/games/
$ sudo rmdir /usr/games/

 ここまでできたらようやく最新化。

$ sudo rpi-update
$ sudo apt-get update
$ sudo apt-get dist-upgrade
 IPv6の場合は、ルータのファイアウォールでは外部パケットが弾かれないため、外部から直接アクセスできてしまう。
そのため、iptablesを変更してRPi2へIPv6でアクセスすることを禁止する。
 自分の場合はufwで全ポートを閉じ、IPv4のみポートを開く設定とした。
$ sudo apt-get install ufw
$ sudo ufw enable
$ sudo ufw default DENY
$ sudo ufw allow from 192.168.x.0/24

 セグメントは適宜変えておくこと。
 ufwについてはUbuntu Weekly Recepi76回77回を参考にした。慣れてて良かったUbuntu。ありがとう技術評論社。

 ここまでしたら電源を落として、USB-GbEにLANケーブルを繋げて再起動。
 HDMIとUSBキーボードも不要の場合はここで外してしまって良い。
$ sudo halt

 続けて「shutdown -h now」しなくて良いなんて、いい時代になったなぁ…。
 もう本体自体は弄らないので、RPi2を設置場所へ持って行ったら電源投入して、あとはSSH接続で以下続行。

キャッシュサーバとownCloudサーバをRaspberryPi2に移行する(3)に続く...

0 件のコメント:

コメントを投稿