LinuC LV2資格学習41日目
CentOS7を主軸にしたAnsibleをCentOS Stream8(RHEL8)混在に修正を午前中行ってました。
基盤環境構成用のロールの書き換えは完了して、Stream8で検証基盤の構築を行えました。
さて午後は、資格勉強です。
パッチの適応
パッチとは、この場合ソフトウェア差分ファイルになります。
この差分ファイルをソースコードに適応することで既存のソースコードをバージョンアップする方法もあります。
パッチファイルの適応方法は、patchコマンドを使用します。
コマンドオプション参考(いつもお世話になっております)
下記の例では、pacheコマンドをパッチを適応するソースコードのディレクトリ内で実行し、パッチファイル自体は、その上の階層にある場合の例です。
patch -p1 < ../pathc.file
実行したパッチを取り消す場合は、-Rオプションになります。
patch -Rp1 < ../pathc.file
パッチの実行が失敗した場合は、失敗した部分の差分情報が記述されたリジェクトファイル(~.rej)が生成されます。
バックアップ
次に運用保守では、お馴染みのバックアップになります。
障害、作業ミス、災害などで損失したデータの復旧などに利用します。バックアップには、その方法とデータ保存には複数の選択肢があります。
バックアップの種類
バックアップ方法は、大きく分けて三つの種類があります。
完全(full)バックアップ
文字通り対象となるシステム上やパーティション上の全てのデータを複製(バックアップ)する方式で、最も容量と時間を必要とするものです。基本的に初回のバックアップは、フルバックアップになります。
差分(differential)バックアップ
前回のフルバックアップ以降で対象のバックアップデータに新しく作成、或いは、変更が加えられたデータのみをバックアップする方式です。フルバックアップより時間も短くて済みます。
復元の際には、フルバックアップと復元対象の差分バックアップが必要となります。
増分(incremental)バックアップ
前回のバックアップ(完全、差分、増分)以降に新しく作成、或いは変更が加えられたデータのみをバックアップする方式です。三つのバックアップ方式の中で最も処理時間が短いバックアップ方式です。しかし復元の際には、フルバックアップ以降全ての増分バックアップが必要になります。
バックアップデバイス
バックアップデータの保存先となるデバイスについてです。
光学ディスク(CD-R/RW、DVD-R/RW、BD-R/RE)
各種、光学ディスクになります。安価で低容量なCDからそこそこの値段で大容量なDVDやBD-R/REまで様々なものがあります。
光学ディスクは、規格によって1度きりしか保存できないものと繰り返し使えるものがあります。
DVDは、さらに規格が様々あるので互換性に注意が必要です。
リムーバブルハードディスク
内蔵型ではない、外部接続のハードディスクです。光学ディスクに比べて遥かに大容量で高速な読み書きが可能ですがその分、高価です。
磁気テープ
大容量であり、比較的低価格なもになります。しかしメディアの特性上物理的なテープの摩耗があるため定期的に新しいメディアに書き換える必要があります。
ネットワーク
NAS(Network Attached Storage)などが比較的利用が容易でよく使われているかと思います。その他にバックアップする頻度や容量が多い場合に専用のネットワークをファイバチャンネルなどを使って構築するSAN(Storage Area Network)などがあります。
ローカルでのバックアップ
ローカルにバックアップを行う際に使用される主なコマンドは、tar,dd,dump(restore),mtなどがあります。
tarコマンド
ソールコードのビルドのところで一度出てきているコマンドになります。ファイルやディレクトリを一つのファイルにまとめたり(アーカイブ)、展開したり出来るコマンドです。
アーカイブ化の際にオプションを指定する事でアーカイブファイルを圧縮することが可能です。
アーカイブ化はcオプション、展開は、xオプションになります。
ddコマンド
こちらは、swapの説明の際に一度出てきたコマンドになります。入力側に指定したファイルの内容を、ファイルもしくは標準出力に送ります
ddコマンドはブロック単位で入出力を行うのでブロックデバイス単位でのバックアップに適しています。
例えば以下のようにあるデバイスをまるまる別のデバイスへバックアップする場合などです。
dd if=/dev/sdb of=/dev/sdd
dump(restore)コマンド
こちらは、LVMのスナップショットからバックアップを取得する際に1度出てきたコマンドになります。
ファイルシステム単位でext系のファイルシステムをバックアップするコマンドになります。
このコマンドでとったバックアップは、restoreコマンドで復元します。
dumpコマンドは、磁気テープデバイスへのバックアップに適しており、バックアップ先のメディアの容量を超えた場、自動的に複数のメディアに分けて処理します。
dumpコマンドはオプションでバックアップの方法を選択出来ます。
0がフルバックアップで1-9が増分バックアップになります。増分バックアップを実行する際は、uオプションを指定してバックアップ履歴を/var/lib/dumpdatesファイルに記録しておく必要があります。
以下の例では、磁気テープデバイス/dev/nst0へフルバックアップします。
dump 0uf /dev/nst0 /dev/sda2
次にこのdumpコマンドでバックアップしたデータをrestoreコマンドで復元します。
/dev/st0からバックアップされたデータを全て取り出している例です。
restore rf /dev/st0
mtコマンド
テープドライブを操作するmtコマンドです。
コマンドオプション参考
私は、利用したことがないデバイスなのです。
以下では、/dev/sdc1のバックアップを1つ目のデープデバイスに記録します。記録が完了するとテープは、自動的に巻き戻されるそうです。
mt -f /dev/st0 /dev/sdc1
1本のテープに複数のデータを記録している場合には、それぞれのデータを読み出すためにデータの先頭部分を頭出し知る必要があるそうです。
以下例では、テープの現在位置から2つ先のデータを読み出せる位置に移動するコマンドになります。
mt -f /dev/st0 fsf 2
ローカルでのバックアップ方法についてまで今日は勉強しました。
使ったことがない磁気テープの記憶メディアは、ピンときませんでした。
明日は、ネットワーク経由でのバックアップ方法について勉強していきます。
また明日、ありがとうございました。
この記事が気に入ったらサポートをしてみませんか?