ラズパイ/Raspbianをサーバとして運用後、違うUSBメモリを使ってみたらUSBメモリによってうまく機能せず、余計な手間がかかったりと微妙なケースがあることがわかった為、改めて運用中のものと入れ替えるべく、Raspberry Pi用に相性の良かったUSBメモリSilicon Power社製Ultima U02の16GBを予備を含めて2個買った後の実作業。
たまたま起動していたDebianに接続するとFATでフォーマットされ、HTMLや.exeなどいくつかファイルが入っていました。(とは言ってもWindowsで使うわけではないし、最終的にext4にフォーマットすることもあってこれらは別に要らない。)
勘違いからMBRではなく、GPTで作成するならgptコマンドを使っておくかと(マルチブート構成にしてある)NetBSDを起動するため、再起動。
NetBSDでも以前は何の問題もなくできたはずなのに、なぜか、今回、素直にマウントできない為、disklabelを見るとaとdしかなく、aは4.2BSDとなっている。。。
mbrlabel sd0してみてもラップしまくりで、あらら、結構手直ししなくちゃ状態ですが、うっかり、mbrlabel -rw sd0。
sudo gpt create sd0を試みるも強制の-fオプションを付けてもダメ、再起動してDebianで確認しても今度は、fdiskの表示が壊れています。
気を取り直してNetBSDを起動したものの、disklabelを修正するのも面倒なので/dev/zeroで初期化することにし、Ultima U02をUSBポートに挿しました。
一応、USBに関連付けられたデバイスを確認。
/dev/zeroで初期化。
20〜30分程度か?結構時間がかかりました。
gpt createで空のGUID Partition Tableを作成。
gptコマンドで確認。
一応、fdiskコマンドでも確認。
ここで気づいた。。。インストーラやレスキュー用Live USBじゃない。。。ラズパイ用でした。。。
でも、GPTでもMBR使えた気がするし、ラズパイがMBR必須ってわけでもないはず。。。
というわけでこのままやってみよう。
タイプをlinux-data、ラベルをRPIとしてgpt addでパーティションを追加。
敢えてサイズを指定しなかったのでUSBメモリ全体を使ってパーティションが1つできるはず。
dkctlコマンドで生成したパーティションを認識させてデバイスに紐付け。
ちゃんとできているかを確認。
ext4でフォーマット。。。と思いましたが、NetBSDでは今のところ、newfsでext系だとnewfs_ext2fsしかない。。。
よって再起動してDebianに切り替え。
デバイス確認。
Jessie時点では、すでにgpt対応なのでfdiskで確認。
mkfsでext4にフォーマット。
ここからNetBSDに切り替えてもよいですが、Debianで続行。
ラズパイで使っていたLexar JumpDrive S50 Orange 8GBをUSBポートに挿す。
/media以下に自動マウントされるが、アンマウントして/mnt以下にマウントし直す。(こんなことする必要は全くないけど)
マウントポイント作成。
改めてラズパイで使用していたシステムパーティション用USBメモリをマウント。
新しいフォーマット済みUSBメモリをマウント。
rsyncで中身をコピー...と思ったら、rsyncが入っていなかった為、インストール。
rsyncで中身をコピーするにあたり、一応チェック。
実際にrsyncで中身をコピー。
使い終わったマウントポイントをアンマウント。
Raspberry Pi 2 Model BのUSBポートにext4でフォーマット、システムパーティションにあるべきファイル群のrsyncによるコピーが完了したUltima U02 16GBを挿す。(運用中だった為、起動用のmicroSDカードは既に装着済み。)
Raspberry PiにSSH接続してみる。(rpiとしてホストの名前解決ができている前提)
おお、あっさり接続できました。。。やっぱり相性いいなー。。。Silicon Power Ultima U02。。。他と何が違うんだろ。。。
というわけで、あっさりいかなかったUSBメモリ用にcron登録してたスクリプトを削除しておく。
以上、図らずも相性の良かったUSBメモリに替えたことで余計な手間をかけることもなく、当初の通り、ラズパイを快適に運用できるようになりました。