Linuxマシンのバックアップと、ext3に潜む罠

京大推進研

(版間での差分)
移動: 案内, 検索
1行: 1行:
ハードディスク内のファイルを管理するシステムのことをファイルシステムと呼び、いくつかのフォーマットがある。Windowsで一般的なのはNTFS、少し古いフォーマットとしてFAT32がある。Linuxにおいては ext2 あるいは ext3 というフォーマットが一般的である。
+
{{免責事項}}
  
Linuxでの計算結果を外付けHD(たとえばUSBポータブルHD)にバックアップしようと思ったときに問題になるのが、ファイルシステムを何にするかである。一番多くのシステムでサポートされているのはFAT32だが、古いフォーマットのため、ドライブサイズやファイルの数、ファイルの最大容量に制限があったりする。(たとえば、4GB以上のファイルは作れない。)MD計算のような、結果が膨大になる計算の場合はこれは顕著な問題となる。
 
  
もしLinux上でのことだけを考えるならば、ext3にするのはひとつの確実な解である。Linux上でフォーマットを行い、ext3を選べばよい。
+
ハードディスク内のファイルを管理するシステムのことを'''[[wikipedia:ja:ファイルシステム|ディスクファイルシステム]]'''と呼び、いくつかのフォーマットがある。Windowsで一般的なのはNTFS、少し古いフォーマットとしてFAT32がある。Linuxにおいては ext2 あるいは ext3 というフォーマット、MacではHFS+が一般的である。他にもISO 9660、UDF、XFSなど。
  
== Windowsでの読み書き ==
+
== Linuxマシンのバックアップ ==
フリーウェアをインストールするとWindowsでもext3を読むことができる。いくつかのソフトが存在する。大きく分けて以下の2通りがある。
+
Linuxでの計算結果を外付けHD(たとえばUSBポータブルHD)にバックアップしようと思ったときに問題になるのが、ファイルシステムを何にするかである。一番多くのシステムでサポートされているのはFAT32であり、Windowsはもとより、Linux, Macも読み書きに対応する。ただしこれは古いフォーマットのため、ドライブサイズやファイルの数、ファイルの最大容量に制限があったりする。たとえば、4GiB以上のファイルは作れない。計算結果をまとめて[[wikipedia:ja:Tar|tarball]]にしてバックアップ、といったことはできなくなる。データが膨大になる計算の場合はこれは顕著な問題となる。(内部向けメモ:例えば当研究室のMDコードは、1条件につきGiBオーダーの膨大なデータを吐き出す。)
 +
 
 +
もしLinux上でのことだけを考えるならば、ext3にするのはひとつの確実な解である。Linux上でフォーマットを行い、ext3を選べばよい。ただし、この形式にするとWindowsでの読み書きの際には少し手間がかかる。次節参照。また、次節の方法を使ったとしても、Windowsからext3への書き込みは推奨されない。Windowsから書き込む可能性があるときはFAT32を使うのがいい。
 +
 
 +
Windowsでしか使わないのならNTFSがベストなのだが、Windows以外のOSを扱うときにはNTFSは使えない。LinuxやMacはNTFSの読み取りは可能だが、書き込みはできないからである。
 +
 
 +
== ext3のWindowsでの読み書き ==
 +
ソフトウェアをインストールするとWindowsでもext3を'''読む'''ことができる。いくつかのソフトが存在する。大きく分けて以下の2通りがある。
 
# 独立したアプリケーションの中でファイルを操作するタイプ
 
# 独立したアプリケーションの中でファイルを操作するタイプ
 
#*[http://www.diskinternals.com/linux-reader/ DiskInternals Linux Reader]
 
#*[http://www.diskinternals.com/linux-reader/ DiskInternals Linux Reader]
 
#*[http://www.chrysocome.net/explore2fs Explore2fs] ([http://nw.odoruinu.net/softwares/explore2fsjp/ 日本語版])
 
#*[http://www.chrysocome.net/explore2fs Explore2fs] ([http://nw.odoruinu.net/softwares/explore2fsjp/ 日本語版])
 
# Windowsドライブと同じようにマウントし、Windowsのエクスプローラにおいて操作するタイプ
 
# Windowsドライブと同じようにマウントし、Windowsのエクスプローラにおいて操作するタイプ
#*[http://www.ext2fsd.com/ Ext2Fsd] ←オススメ!
+
#*[http://www.ext2fsd.com/ Ext2Fsd] '''←オススメ!'''
 
#*[http://www.fs-driver.org/ Ext2 IFS]
 
#*[http://www.fs-driver.org/ Ext2 IFS]
 +
いずれもフリーウェアである。この他にも有償ソフトが存在する模様。
  
 
===Ext2Fsdをオススメする理由===
 
===Ext2Fsdをオススメする理由===
ext3 には inode というもの(?)がある。伝統的には inode = 128 だった。今でも 128 と指定してフォーマットできるが、多分ドライブサイズかファイル数か、何かに制限があるのだろう、最近はデフォルトでは inode = 256 でフォーマットされる。しかし、そうすると上記のようなソフトの多くは 256 に対応していなかったりする。2010年12月時点で唯一対応しているのは Ext2Fsd のみのようだ。[http://ubuntuforums.org/showthread.php?t=1049405] 非対応ソフトで256のext3ドライブを読み込もうとしても、エラーメッセージも何も出ないので途方に暮れることになる。
+
ext3 には [[wikipedia:ja:inode|inode]] というデータ構造がある。伝統的には inode は 128 byte だった。今でも 128 と指定してフォーマットできるが、多分ドライブサイズかファイル数か、何かに制限があるのだろう[未確認]、最近はデフォルトでは inode 256 byte でフォーマットされる。しかし、そうすると上記のようなソフトの多くは inode = 256 に対応していなかったりする。
 +
 
 +
2010年12月時点で唯一対応しているフリーウェアは Ext2Fsd のみのようだ。[http://ubuntuforums.org/showthread.php?t=1049405] 非対応ソフトで inode = 256 のext3ドライブを読み込もうとしても、エラーメッセージも何も出ないので途方に暮れることになる。(筆者はこれ以外のどのソフトでもマウントできなかったので、Ext2 IFS の troubleshooting ページを読み[http://www.fs-driver.org/troubleshoot.html]、そこで配布されている mountdiag diagnosis tool を実行したところ、inode のサイズに関するメッセージが表示され、問題の特定に至った。)
 +
 
 +
なお、このドライバはインストール時に ext2/3 への書き込みを(強制的に)許可するかどうかを聞かれる。純正ではないことや、ext3の[[wikipedia:ja:ジャーナリングファイルシステム|ジャーナリング]]に悪影響を及ぼす可能性もあるので、おすすめはできない。
 +
 
 +
==まとめ==
 +
{|
 +
! フォーマット
 +
! Linux !! Windows !! Mac OS X !! 補足
 +
|-
 +
! ext2/3
 +
| ◎ default || △ 要上記ソフト || △ 要MacFUSE ||
 +
|-
 +
! FAT32
 +
| ○ read/write || ◎ default || ○ read/write || 1ファイル4GiBまで
 +
|-
 +
! NTFS
 +
|  △ read || ◎ default ||  △ read ||
 +
|-
 +
! HFS+
 +
| × || × || ◎ default ||
 +
|}
  
 
== 参考資料 ==
 
== 参考資料 ==

2010年12月14日 (火) 18:27時点における版

免責事項:このページは当研究室内での情報共有を目的とした覚え書きであり、内容の正確性・客観性は保証されません


ハードディスク内のファイルを管理するシステムのことをディスクファイルシステムと呼び、いくつかのフォーマットがある。Windowsで一般的なのはNTFS、少し古いフォーマットとしてFAT32がある。Linuxにおいては ext2 あるいは ext3 というフォーマット、MacではHFS+が一般的である。他にもISO 9660、UDF、XFSなど。

目次

Linuxマシンのバックアップ

Linuxでの計算結果を外付けHD(たとえばUSBポータブルHD)にバックアップしようと思ったときに問題になるのが、ファイルシステムを何にするかである。一番多くのシステムでサポートされているのはFAT32であり、Windowsはもとより、Linux, Macも読み書きに対応する。ただしこれは古いフォーマットのため、ドライブサイズやファイルの数、ファイルの最大容量に制限があったりする。たとえば、4GiB以上のファイルは作れない。計算結果をまとめてtarballにしてバックアップ、といったことはできなくなる。データが膨大になる計算の場合はこれは顕著な問題となる。(内部向けメモ:例えば当研究室のMDコードは、1条件につきGiBオーダーの膨大なデータを吐き出す。)

もしLinux上でのことだけを考えるならば、ext3にするのはひとつの確実な解である。Linux上でフォーマットを行い、ext3を選べばよい。ただし、この形式にするとWindowsでの読み書きの際には少し手間がかかる。次節参照。また、次節の方法を使ったとしても、Windowsからext3への書き込みは推奨されない。Windowsから書き込む可能性があるときはFAT32を使うのがいい。

Windowsでしか使わないのならNTFSがベストなのだが、Windows以外のOSを扱うときにはNTFSは使えない。LinuxやMacはNTFSの読み取りは可能だが、書き込みはできないからである。

ext3のWindowsでの読み書き

ソフトウェアをインストールするとWindowsでもext3を読むことができる。いくつかのソフトが存在する。大きく分けて以下の2通りがある。

  1. 独立したアプリケーションの中でファイルを操作するタイプ
  2. Windowsドライブと同じようにマウントし、Windowsのエクスプローラにおいて操作するタイプ

いずれもフリーウェアである。この他にも有償ソフトが存在する模様。

Ext2Fsdをオススメする理由

ext3 には inode というデータ構造がある。伝統的には inode は 128 byte だった。今でも 128 と指定してフォーマットできるが、多分ドライブサイズかファイル数か、何かに制限があるのだろう[未確認]、最近はデフォルトでは inode は 256 byte でフォーマットされる。しかし、そうすると上記のようなソフトの多くは inode = 256 に対応していなかったりする。

2010年12月時点で唯一対応しているフリーウェアは Ext2Fsd のみのようだ。[1] 非対応ソフトで inode = 256 のext3ドライブを読み込もうとしても、エラーメッセージも何も出ないので途方に暮れることになる。(筆者はこれ以外のどのソフトでもマウントできなかったので、Ext2 IFS の troubleshooting ページを読み[2]、そこで配布されている mountdiag diagnosis tool を実行したところ、inode のサイズに関するメッセージが表示され、問題の特定に至った。)

なお、このドライバはインストール時に ext2/3 への書き込みを(強制的に)許可するかどうかを聞かれる。純正ではないことや、ext3のジャーナリングに悪影響を及ぼす可能性もあるので、おすすめはできない。

まとめ

フォーマット Linux Windows Mac OS X 補足
ext2/3 ◎ default △ 要上記ソフト △ 要MacFUSE
FAT32 ○ read/write ◎ default ○ read/write 1ファイル4GiBまで
NTFS △ read ◎ default △ read
HFS+ × × ◎ default

参考資料

編集履歴