1. ステップ1: 新しいディスクのフォーマット
ファイルシステムの旅の実践部分へようこそ!今日は、フォーマット、マウント、バックアップに関する前回の講義で学んだことをすべて組み合わせます。そして、もし上司のドキュメントが入ったUSBをうっかりフォーマットしてしまったら、どうやって修復できるかを確実に知ることができます。まあ、最悪の場合、別の職業に転職する準備ができるでしょう。
シナリオ
コンピュータに新しいディスクを追加したと想像してください。このディスクはまだ空っぽで、システムで使えるようにはなっていません。これからフォーマット作業を始めます。
手順:
1.1 接続されているデバイスを確認する
まず、新しいディスクがどこにあるのかを確認します。lsblkコマンドを使いましょう:
lsblk
すべてが正しく接続されていれば、次のような出力が見えるはずです:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 50G 0 part /
├─sda2 8:2 0 50G 0 part /home
sdb 8:16 0 500G 0 disk
ここでsdbが新しいディスクにあたります。このディスクにはまだパーティションがありません。
1.2 ディスクにファイルシステムを作成する
ファイルシステムとしてext4が適しているとしましょう。このファイルシステムを作成するためにはmkfsを使用します:
sudo mkfs.ext4 /dev/sdb
コマンドの実行後、システムはこのディスクを使用できるようになります。ただし、フォーマットはデバイス上のすべてのデータを消去するため注意してください。もしこの瞬間、上司のディスクを挿してフォーマットしようとしているなら、すぐに止めてください。今すぐ。
2. 手順 2: 新しいディスクのマウント
さあ、新しくフォーマットしたディスクをファイルシステムに接続しよう。
2.1 マウントポイントを作成する
ディスクを接続する場所が必要だよね。通常はフォルダを使うんだ。例えば、/mntにフォルダを作成しよう:
sudo mkdir /mnt/newdisk
2.2 ディスクをマウントする
ディスクをシステムに接続しよう:
sudo mount /dev/sdb /mnt/newdisk
すべてが正しく動作しているか確認するには、dfコマンドを使用してみて:
df -h
リストに/mnt/newdiskとディスクが表示されるはずだよ。
2.3 自動マウントの設定
毎回ディスクを手動で設定するのが面倒だから、/etc/fstabファイルに追加しよう。最初にblkidを使ってデバイスのUUIDを確認するんだ:
sudo blkid /dev/sdb
出力結果はこんな感じになるはず:
/dev/sdb: UUID="abcd-1234-efgh-5678" TYPE="ext4"
この行を/etc/fstabに追加しよう:
UUID=abcd-1234-efgh-5678 /mnt/newdisk ext4 defaults 0 2
これでシステムを起動するたびにディスクが自動的にマウントされるようになるよ。
3. ステップ3: データのアーカイブ
仮に新しいディスクにフォルダ/mnt/newdisk/dataがあり、バックアップする前にアーカイブ化して圧縮したいとしましょう。
3.1 tarを使ったアーカイブの作成
dataフォルダをアーカイブしましょう:
tar -cvf data_backup.tar /mnt/newdisk/data
3.2 gzipを使ったアーカイブの圧縮
作成したアーカイブを圧縮します:
gzip data_backup.tar
これでdata_backup.tar.gzというファイルができます。サイズが小さく、移動が簡単です。
4. ステップ4: rsyncを使用したバックアップ
バックアップの準備ができました。データを他のサーバーやディスクの場所に移動するためにrsyncを使用します。
4.1 ローカルバックアップ
フォルダdataを別のディレクトリにバックアップしたい場合は、次を実行します:
rsync -av /mnt/newdisk/data /mnt/backup/
キー:
-aアーカイブモードを有効にし、アクセス権やファイル構造を保持します。-v詳細な出力を有効にします。
4.2 リモートサーバーへのコピー
データをサーバーに転送する必要がある場合は、次を使用します:
rsync -av /mnt/newdisk/data username@remote_server:/backup/
usernameをサーバー上のユーザー名に、remote_serverをサーバーのアドレスに置き換えるのを忘れないでね。
5. ステップ 5: scpを使った簡単なバックアップ
時々、scpを使うのが一番簡単だよね。例えば、アーカイブを直接サーバーに転送したい場合:
scp data_backup.tar.gz username@remote_server:/backup/
これで、ファイルdata_backup.tar.gzがリモートサーバーのフォルダ/backupにコピーされるよ。
6. ステップ6: 全プロセスの動作確認
こんな感じのステップを実行しました:
- 新しいディスクにファイルシステムを作成しました。
- ディスクをマウントして、自動マウントを設定しました。
- フォルダー内のデータをアーカイブし、圧縮しました。
rsyncとscpを使ってバックアップを作成しました。
今、コピーしたデータが利用可能か確認してみましょう。ターゲットサーバーで data_backup.tar.gz を解凍して試してください:
gunzip data_backup.tar.gz
tar -xvf data_backup.tar
データは元通り、生きてて無事です。息をつけてもOK。
7. 特徴と可能なエラー
device or resource busyのようなメッセージがアンマウント中に表示された場合、デバイスがプロセスに使用されていないことを確認してください。そのためにはfuserを使用します:fuser -m /mnt/newdisk/etc/fstabを間違えて設定すると、システムが起動しないことがあります。リカバリーモードを使用するか、事前に変更をテストしてください:sudo mount -arsyncを使ったバックアップの際、ディレクトリを同期させ、対象側の余分なデータを削除したい場合は、--deleteオプションを忘れないようにしてください。
これでディスクを自信を持って管理し、マウントし、データの安全性をバックアップで確保するための知識が身に付きました。そして一番大事なのは、新しいハードディスクをデスクに置いてそれをフォーマットしている理由を、重要そうな顔で説明できることです。😉
GO TO FULL VERSION