小技プログラミング

TeraStationからCentOSへデータ移行する

TeraStationからCentOSにデータ移行する方法として、smbfsやcifsで移行先サーバへマウントしてからデータを移行する手順です。

■smbfsマウントの場合

smbfsを利用する為にはSambaが必要です。入っていない無い場合はインストールします。

# yum install samba

マウントポイント作成

# mkdir /mnt/terast

マウントは以下のように指定します。文字化け対応にcodepageとiocharsetで文字コードを指定しています。
mount -t smbfs -o username=<管理者ユーザ>,codepage=cp932,iocharset=utf8 //TeraStationホスト名orIP/共有ディレクトリ マウントポイント

【例】

# mount -t smbfs -o username=admin,codepage=cp932,iocharset=utf8 //192.168.1.111/share /mnt/terast
password:パスワード入力

(参考)
※smbfsはsamba3.2で削除されました。
smbfsが利用できない場合はcifsを利用します。
Samba 3.2.0 リリースノート

【一部抜粋】
なくなった機能
現在のkernelバージョン中では smbfsはもはやサポートされていないので、smbmountはこのSambaバージョンでは削除されました。その代わりにcifs(mount.cifs)を使ってください。 examples/scripts/mount/mount.smbfs に、smbmount や mount.smbfs の代わりに mount.cifs を呼び出すラッパーのサンプルがあります。

■cifsマウントの場合

cifsマウントを利用する為にはcifs-utilsパッケージが必要です。
入っていない場合はインストールします。

# yum install cifs-utils

マウントポイント作成

# mkdir /mnt/terast

マウントはsmbfsと同様に以下のように指定します。文字化け対応にcodepageとiocharsetで文字コードを指定しています。
mount -t cifs -o username=<管理者ユーザ>,codepage=cp932,iocharset=utf8 //TeraStationホスト名orIP/共有ディレクトリ マウントポイント

【例】

# mount -t cifs -o username=admin,codepage=cp932,iocharset=utf8 //192.168.1.111/share /mnt/terast
password:パスワード入力

(参考)
※共有ディレクトリ名に日本語等の2バイト文字を利用している場合、文字コードの違いでマウント出来ないことがあります。
その場合、コンソールの文字コードをTeraStation側に合わせてからコマンドを指定します。
TeraStationのデフォルト文字コードはShift-JISです。
【例】

# mount -t cifs -o username=admin,codepage=cp932,iocharset=utf8 //192.168.1.111/資料 /mnt/terast

マウント後はコンソールの文字コードを戻します。(移行先の文字コード)

※マウント時に文字コード指定をしても文字化けする場合は、rsync時に文字コードを指定します。
(rsyncバージョン3以降で対応しています)

# rsync -av --iconv=CP932,UTF-8 /mnt/terast/ /share/newdir

移行後は念のためパーミッション・所有者・所有グループを確認して必要に応じて修正します。

更新日時:2014/11/21