4 Extファイル・システムの管理
この章では、Oracle LinuxでExtファイル・システムを管理するためのタスクについて説明します。
Ext2、Ext3またはExt4ファイル・システムのBtrfsファイル・システムへの変換
btrfs-convertユーティリティを使用して、ext2
、ext3
またはext4
ファイル・システムをbtrfs
に変換できます。ユーティリティによって、ext2_saved
というスナップショットに元のファイル・システムのイメージが保存されます。このスナップショットによって、btrfsファイル・システムが変更されても、変換をロールバックできます。
ノート:
/boot
などのブート可能なパーティションまたはルート・ファイル・システムはbtrfsファイル・システムに変換できません。
ルート以外のファイル・システムを変換する方法
注意:
ファイル・システムの変換を実行する前に、その状態をリストアできるファイル・システムのバックアップを作成してください。
ext2
、ext3
またはext4
ファイル・システムをbtrfs
に変換するには、次の手順を実行します。
-
ファイル・システムをアンマウントします。
sudo umount mountpoint
-
基礎となるデバイス上でfsckの適切なバージョン(fsck.ext4など)を実行し、ファイル・システムの整合性を確認および修正します。
sudo fsck.extN -f device
-
ファイル・システムをbtrfsファイル・システムに変換します。
sudo btrfs-convert device
-
ファイル
/etc/fstab
を編集し、次のようにファイル・システムのファイル・システム・タイプをbtrfs
に変更します。/dev/sdb /myfs btrfs defaults 0 0
-
古いマウント・ポイントに変換済のファイル・システムをマウントします。
sudo mount device mountpoint
root以外のExt2ファイル・システムのExt3への変換
注意:
ファイル・システムの変換を実行する前に、その状態をリストアできるファイル・システムのバックアップを作成してください。
root以外のExt2ファイル・システムをExt3に変換するには:
-
Ext2ファイル・システムをアンマウントします。
sudo umount filesystem
-
fsck.ext2を使用して、ファイル・システムをチェックします。
bash-4.1# fsck.ext2 -f device
-
次のコマンドをExt2ファイル・システムに対応するブロック・デバイスを指定して使用します。
sudo tune2fs -j device
このコマンドによって、Ext3ジャーナルinodeがファイル・システムに追加されます。
-
fsck.ext3を使用して、ファイル・システムをチェックします。
bash-4.1# fsck.ext3 -f device
-
/etc/fstab
にあるファイル・システムのエントリを修正して、そのタイプがext2
ではなくext3
で定義されるようにします。 -
これで、次のようにファイル・システムをいつでも再マウントできます。
sudo mount filesystem
詳細は、tune2fs(8)
マニュアル・ページを参照してください。
rootのExt2ファイル・システムのExt3への変換
注意:
rootファイル・システムの変換を実行する前に、その状態をリストアできる完全なシステム・バックアップを作成してください。
rootのExt2ファイル・システムをExt3に変換するには:
-
次のコマンドをrootファイル・システムに対応するブロック・デバイスを指定して使用します。
sudo tune2fs -j device
このコマンドによって、Ext3ジャーナルが
/.journal
ファイルとしてファイル・システムに追加されます。 -
mountコマンドを実行して、rootファイル・システムとして現在マウントされているデバイスを判別します。
次の例では、rootファイル・システムがディスク・パーティション/dev/sda2
に相当します。sudo mount
/dev/sda2 on / type ext2 (rw)
-
システムを停止します。
-
Oracle LinuxのブートCD、DVDまたはISOからシステムをブートします。https://edelivery.oracle.com/linuxからISOをダウンロードできます。
-
インストール・メニューからインストール済システムのレスキューを選択します。プロンプトが表示されたら、言語とキーボードを指定し、インストール・メディアとしてローカルCD/DVDを選択し、いいえを選択してネットワーク・インタフェースの起動を回避し、スキップを選択してレスキュー環境の選択を省略します。
-
シェルの起動を選択して、画面の一番下に
bash
シェル・プロンプト(bash-4.1#
)を表示します。 -
既存のrootファイル・システムをLVMボリュームとして構成している場合、次のコマンドを使用してボリューム・グループ(
vg_host01
など)を起動します。bash-4.1# lvchange -ay vg_host01
-
fsck.ext3を使用して、ファイル・システムをチェックします。
bash-4.1# fsck.ext3 -f device
前述の例では、deviceは
root
ファイル・システムのデバイスです(/dev/sda2
など)。このコマンドによって、
.journal
ファイルがジャーナルinodeに移動します。 -
マウント・ポイント(
/mnt1
)を作成し、変換されたroot
ファイル・システムをそのマウント・ポイントにマウントします。次に例を示します。bash-4.1# mkdir /mnt1 bash-4.1# mount -t ext3 device /mnt1
-
テキスト・エディタを使用して、
/mnt1/etc/fstab
ファイルを編集し、root
ファイル・システムのファイル・システム・タイプをext3
に変更します。次に例を示します。/dev/sda2 / ext3 defaults 1 1
-
マウントされたファイル・システムの
root
にファイル.autorelabel
を作成します。bash-4.1# touch /mnt1/.autorelabel
/
に.autorelabel
ファイルが存在すると、SELinuxによってファイル・システム上のすべてのファイルのセキュリティ属性が再作成されます。ノート:
.autorelabel
ファイルを作成しないと、システムを正常にブートできない可能性があります。ファイルを作成せずに再起動に失敗した場合、カーネル・ブート・パラメータにselinux=0
を指定してSELinuxを一時的に無効にするか、enforcing=0
を指定してSELinuxを許容モードで実行します。 -
変換されたrootファイル・システムをアンマウントします。
bash-4.1# umount /mnt1
-
ブートCD、DVDまたはISOを取り出し、システムを再起動します。
詳細は、tune2fs(8)
マニュアル・ページを参照してください。