#topicpath ----- #contents *Data transfer (2016-10-13 版) [#d33a1f2d] +以下の説明では、 USB portable HDD のボリュームラベル (HDD の名前) を ASTE#13b として説明します。HDD本体にテプラなどで書かれている識別名と一致しているはずです。 --ボリュームラベルのつけ忘れがあると /media/550e8400-e29b-41d4-a716-446655440000 というような名前になる事があります (UUIDと呼ばれるユニーク文字列です) 。データの転送処理は問題なくできますので読み替えて作業を進めてください。 --名前を付けた方が話をしやすい (HDDの個体識別がしやすい) ので、どこかのタイミングで computing が名前付けの作業をします。 +データ転送処理に限らず、ターミナル(端末)ウィンドウが必要な場合は[Applications]->[System Tools]->[Terminal] としてください --ディスクアイコンのウィンドウで、 [File]->[Open in Terminal]とすると、 HDD が使用状態になってしまいアンマウントできなくなります --誤って開いてしまった場合はウィンドウを閉じる必要があります --ちょっと使わせてください、というケースはあるかもしれませんのでご注意 +アンマウントできないトラブル --帰国やサイト閉鎖や悪天候が続く前など、ぜひ当日中にデータを持ち帰りたい場合は、 aste-1x をシャットダウンする方法があります --電源が切れていれば外付けHDDを外せます **at the ASTE site [#ba141a5b] +aste-1xにasteobsでログインする +USBポータブルHDDをaste-1xにつなぐ --自動で/media/ASTE#13bにマウントされ、画面上にASTE#13bというディスクアイコンが出る +転送するデータセットの確認 --/home/trans/to_xfer 以下に日付範囲を名前に持つディレクトリがある #pre{{ aste-1x{asteobs}58: ls /home/trans/to_xfer 20160921-20160926/ 20160925-20160927/ }} ---それぞれのディレクトリは、この日付範囲のデータを含みます。 ---ただし、 13:00 UTC 前後が切替基準です。 (厳密さが必要なら crontab を確認) ---'20160925-' なら 9/25 朝 (13:00 UTC) 以降のデータを含む。 ---'-20160927' なら 9/27 の朝 (こちらは「13:00以前」ではなく、収集処理が動いた瞬間) までのデータを含む。収集処理以降に発生したデータは翌日分で集められる。 ---帰国前やサイト閉鎖前などには、持ち帰る必要のある日付のディレクトリが作られていることを確認してください。 たとえば 2016/12/9 (CLT) 朝までのデータを確実に持ち帰る必要があるならば、 2016xxxx-20161209 のディレクトリができていることを確認してください。 ---データを集めてこのディレクトリを作る処理は毎朝観測が終わったころ (13:00 UTC) から起動され、だいたい昼頃には終了します。 (終了時刻はデータの量による) ---この収集処理は以下のディレクトリで行われ、終了後に上記の 'to_xfer' 以下に移動されますので、進捗を確認することができます。 #pre{{ aste-1x{asteobs}59: ls /home/trans/work 20160925-20160927/ }} +USB HDD に以下の様にディレクトリを作成する (通常はあります) #pre{{ aste-1x{asteobs}59: mkdir /media/ASTE#13b/to_spda }} --すでにある場合は不要 +コピースクリプトの実行 --スクリプトは/home/trans/bin/cos3_trans_aste.sh --まずは転送するデータセットを正しく認識する事をチェック (チェックモード) #pre{{ aste-1x{asteobs}60: /home/trans/bin/cos3_trans_aste.sh /media/ASTE#13b/to_spda ***found data directories to transfer*** [#ocb03654] /home/trans/to_xfer/20160921-20160926/ /home/trans/to_xfer/20160925-20160927/ ***found data directories to transfer*** [#o5a4ffc8] *** device size check *** -> ok check mode }} --HDDに空きが無い場合にはエラーになるので転送には別のHDDを使用、空きが無いHDDの処理はcomputing に依頼 --問題なければ転送を実行する (-exec オプション) #pre{{ aste-1x{asteobs}65: /home/trans/bin/cos3_trans_aste.sh /media/ASTE#13b/to_spda -exec }} ---以下のようなメッセージが上記データディレクトリの数だけ出力される ---[日時]はコマンドを実行した日時 #pre{{ entering the directory: /home/trans/to_xfer/20160921-20160926 wrapping, splitting, and copying the data directory, 20160921-20160926 (file listing and errors go to '/home/trans/xferlog/[日時]-xfer/cpiolog.20160921-20160926.-ov') c20160921-20160926: data copy done. }} ---一つでも以下のようなエラーが表示された場合は、そのままにして関係者に連絡 #pre{{ c20160921-20160926: data copy error. }} +ポータブルディスクのアンマウント --画面上にディスクアイコンが出ているので、それを右クリックして'Unmount Volume'を選ぶ --もしくはターミナルで以下を実行 #pre{{ aste-1x{asteobs}66: umount /media/ASTE#13b }} +disconnecting USB HDD from aste-1x --please handle with care --keep connecting the USB cable to aste-1x **At SPdA [#kba9cb3e] ***transfer from the ASTE site to SPdA [#g59f04f0] +aste-as1にasteobsでログインする +山頂でデータをコピーしたUSBポータブルHDDをaste-as1につなぐ --自動で/media/ASTE#13bにマウントされ、画面上にASTE#13bというディスクアイコンが出る +転送データの確認 #pre{{ [asteobs@aste-as1 ~]$ ls /media/ASTE#13b/to_spda/* }} --山頂でコピーしたファイル(日付範囲+'.cpio.'+なんちゃら)が入っているはず +コピースクリプトの実行 --スクリプトは/home/trans/bin/cos3_trans_spda.sh --まずは転送するデータセットを正しく認識する事を確認 (チェックモード) --[日時]はサイトでcos3_trans_aste.shを実行した日時 #pre{{ [asteobs@aste-as1 ~]$ /home/trans/bin/cos3_trans_spda.sh /media/ASTE#13b/to_spda *** found data to transfer *** /media/ASTE#13b/to_spda/[日時]/c20160921-20160926 /media/ASTE#13b/to_spda/[日時]/c20160925-20160927 *** found data to transfer *** check mode }} --SPdAでの読み出しをしないまま、サイトでの転送を繰り返すと、上記[日時]が複数になる事がある --問題なければ実行する (-exec オプション) #pre{{ [asteobs@aste-as1 ~]$ /home/trans/bin/cos3_trans_spda.sh /media/ASTE#13b/to_spda -exec }} --まず日本への輸送データとして/home/trans/to_japan/[日時]のディレクトリへコピーされる #pre{{ data copy starts logging goes to (/home/trans/xferlog/[日時]-spda) *** copying data to Japan *** /usr/bin/rsync -auv /media/ASTE#13b/to_spda/[日時] /home/trans/to_japan *** done *** }} ---[日時]はサイトでcos3_trans_aste.shを実行した日時 ---以下の様にエラーが起きた場合はそのままにして関係者に連絡 #pre{{ *** data copy failed *** }} --ファイル結合とcpioによるファイル展開は、自動で行わなくしました。 (2016-09 現在) ---以下の様にエラーが起きた場合はそのままにして関係者に連絡 #pre{{ c20160921-20160926: data copy error. copy NG. status==x x, message follow (50 lines): .... error message .... }} +輸送データ消去 --転送が正常に終わると、ポータブルディスク内の[日時]のディレクトリはリネームされ消去状態になる #pre{{ ***rename data directory in media*** chdir /media/ASTE#13b/to_spda mv 20160927t153200z 20160927t153200z.done .... }} ---cos3_trans_spda.shでは認識されなくなるが、万が一必要な場合は後で回復可能 (本当の削除はしません) +ポータブルディスクのアンマウント --cos3_trans_spda.sh が以下のメッセージを出したら取り外し可能 #pre{{ --- Now, you can unmount the HDD --- }} --画面上にディスクアイコンが出ているので、それを右クリックして'Unmount Volume'を選ぶ --もしくはターミナルで以下を実行 #pre{{ [asteobs@aste-as1 ~]$ umount /media/ASTE#13b }} ***transfer from SPdA to Japan [#mf6b05f6] +aste-as1にasteobsでログインする +USBポータブルHDDをaste-as1につなぐ --自動で/media/ASTE#13bにマウントされ、画面上にASTE#13bというディスクアイコンが出る +転送データの確認 --/home/trans/to_japan内には、山頂でcos3_trans_aste.shを実行した日時のディレクトリが含まれる #pre{{ [asteobs@aste-as1 ~]$ ls /home/trans/to_japan 20141008t153200z 20141020t160011z }} +USB HDD に以下の様にディレクトリを作成する (通常はあります) #pre{{ [asteobs@aste-as1 ~]$ mkdir /media/ASTE#13b/to_jpn }} --すでにある場合は不要 +コピースクリプトの実行 --スクリプトは/home/trans/bin/cos3_trans_to_jpn.sh --まずは転送データを正しく認識する事を確認 (チェックモード) #pre{{ [asteobs@aste-as1 ~]$ /home/trans/bin/cos3_trans_to_jpn.sh /media/ASTE#13b/to_jpn ***found data directories to transfer*** /home/trans/to_japan/20141008t153200z /home/trans/to_japan/20141020t160011z ***found data directories to transfer*** check mode }} --問題なければ実行する (-exec オプション) #pre{{ [asteobs@aste-as1 ~]$ /home/trans/bin/cos3_trans_to_jpn.sh /media/ASTE#13b/to_jpn -exec }} --rsyncにてファイルがコピーされる #pre{{ .... data copy starts logging goes to (/home/trans/xferlog/[日時]-to_jpn) --- copying data to Japan --- rsync -auv /home/trans/to_japan/[日時] /home/trans/to_japan/[日時] /media/ASTE#13b/to_jpn/ *** done *** }} ---rsyncされるデータの日時は山頂でcos3_trans_aste.shを実行した日時 ---以下の様にエラーが起きた場合はそのままにして関係者に連絡 #pre{{ *** data copy failed *** }} +ポータブルディスクのアンマウント --画面上にディスクアイコンが出ているので、それを右クリックして'Unmount Volume'を選ぶ --もしくはターミナルで以下を実行 #pre{{ [asteobs@aste-as1 ~]$ umount /media/ASTE#13b }} **At Mitaka [#l80f0a40] -運んできたUSB HDDは、computing関係者に渡して下さい。 **FAQ [#g9ef8801] --LinuxやUSBについて多少わかるかた向け --通常はcomputingに連絡してまかせてもらえば大丈夫です ***USB HDD が自動的にマウントされない [#e4031a6d] -HDDを一度取り外し、つなぎなおしてみる -dmesgやlsusbコマンドを用い、ディスクが認識されているかどうか確認 #pre{{ > dmesg }} -ログの最後の方にUSBのメッセージが出ているので、エラーが出ていないかどうか確認する -エラーが出ておらず、'sdc1'のように認識している場合 --手動でマウントする #pre{{ > mount /dev/sdc1 /mnt }} -エラーが出ている場合 --HDDを繋ぎ直しても同様であればHDDのトラブルの可能性が高い ***USB HDD をアンマウントできない [#c7ea6a80] -ソフト的な問題で「使用中」になっているとアンマウントできない -マウント位置にプロセスが残っていないかチェック #pre{{ > fuser /media/ASTE#13b }} -残っていたら、シェルなどであればカレントディレクトリを移動する、何かの処理プログラムであればプロセスをkillする (問題なければ) 等の処置を行う -うまく行かない場合、コンピュータ (aste-1x) をシャットダウンしたうえで取り外せばほぼ大丈夫 -シャットダウンもうまく行かず、強制断した場合は、その USB HDD は後で fsck する ***message 'lack of disk space!' or 'Not enough disk space on media ...' [#c9887b05] -空いている HDD を使用する -USB HDD 内にこのデータ転送以外に使用した領域があれば削除 -データがとっくに日本まで届いているような古いディレクトリを削除 -空HDDでも入らないほどデータを貯めこんでしまったら、computing に連絡 (手動処理します) ***その他 [#za7320c5] -何かあれば computing に連絡を *SMART による HDD の故障予測 [#sbd981fd] -最近の HDD は SMART という仕掛けで故障予測ができるように工夫されています。 -通常 HDD は少々のエラーは自動修復機能で直して動作を続けます。 この頻度が上がると故障が近い、というような判断を行います。 -たとえば Windows では crystaldiskinfo などの無償ソフトウェアで SMART 情報を読み取ることができます。 -ASTEでは超高地での利用のためか HDD の故障率は高く、 I/Oエラーを起こしたHDDは SMART でも警告が出ることが多いようです。 -HDDの動きに違和感を感じたら、SMARTをチェックしてみるのがお勧めです。 *ファイルシステムチェック [#fa6d2944] - 前項の、 HDD の機械的な故障とは別の話ですが、 USB HDD は、ファイルシステムの破壊につながる操作を 受ける危険性が高い (eg. unmount を忘れて取り外す、など) 一方で、 内蔵 HDD と違い定期的な自動チェックが行われません。 そのため時々 fsck コマンドによって検査すると良いと思われます。 - 特にマウント状態で停電が起きた場合などには必ずチェックすべきです。 mkfs /dev/sdx1 -- 注意: マウントされた状態ではチェックできません -- エラーが数多く表示された場合は利用を避けてください。 ただし誤操作でファイルシステムを壊した場合など原因がはっきりしている場合は、 ファイルシステムの再作成で再び利用できるようになることもあります。 -- 日本から戻ったばかりの HDD は日本でチェック済です *ファイルシステムの再作成 [#u53eec6b] - 現在三鷹に帰ったHDDは、チリに戻す前にファイルシステムを作りなおしたうえ、ボリュームラベルを書いています。 - 操作方法は以下の通りですが、危険な作業なので、自信のない人は実行しないでください。 mkfs.ext3 /dev/sdx1 (ファイルシステムの再作成 -- 既存のデータはすべて無くなります) e2label /dev/sdx1 "ASTE#21b" (ボリュームラベルの設定) -- USB HDD のデバイス名 (/dev/sdx1) は都度変わる可能性もあります。よく確認してください。 誤ったデバイス名を用いると、外付け USB HDD ではなく PC の内蔵 HDD を読めなくしたり、 PC を起動できなくしてしまう危険があります。 -- USB HDD には識別のための名前を与えてあり、 HDD 表面にテプラなどで貼ってあります。この HDD の名前をボリュームラベルとして設定してください。通常は "ASTExxxx" と名付けられている事が多いと思います。この名前が自動マウントのマウント位置の名前になります。 /media/{volume label} - データ輸送用のディレクトリを作り、パーミッションを正しく設定してください。 mount /dev/sdx1 /mnt (USB HDD をマウントしてみる) mkdir /mnt/to_spda /mnt/to_jpn (データ輸送用ディレクトリを作成) chmod 777 /mnt/to_spda /mnt/to_jpn (パーミッション設定) umount /mnt (USB HDD を取り外す前にはアンマウント) - 注意: くどいですが危険な操作です。デバイス名などあやふやなまま実行しないでください。