要するに、スナップショットは、ハードディスク上の使用済みセクターをフリーズする方法であり、スナップショットボリュームと呼ばれるハードディスクの予約部分に変更/削除/追加を書き込むようシステムに指示するため、変更を保持/破棄する決定を延期しますスナップショットボリューム領域が提供する限り、将来のある時点までドライブ上で。そのため、変更をロールバックする(または保持する)ことを決定したら、1行でそれを行うことができます。
事前に設定されたボリュームグループがない場合は、おそらく新鮮なクリーンなUbuntuをインストールする必要があります。次に、システムを初めて正しく設定するためにある程度の努力をする必要がありますが、この時点からスナップショットは楽になります。簡単に言うと、事前に構成されたスクリプトを使用する1つのライナーコマンドです。
- UbuntuのライブCDから起動します(まだインストールされていません。ライブCDのみ)。
- アクセサリを開く->ターミナル
ハードドライブをクリアします!この段階を実行する前に、重要なものはすべてバックアップしてください。
まず、既存のパーティションを削除しましょう。
# fdisk /dev/sda
Enter 'd' to delete - enter for as many partitions you have
> d
> <enter>
...
Enter 'w' to write down changes
> w
ブートパーティションを作成し、残りのドライブを他のパーティションとして作成します
# fdisk /dev/sda
> n
To create a new partition.
> p
For Boot Primary partition.
> 1
Press <enter> to accept the default start sector.
Enter:
> +512M
To give the boot partition a size of 512MB
> n
To create (another) new partition.
> p
Should be Primary too.
> <enter>
To accept the default value of 2 (the second partition)
> <enter>
To accept the default start sector
> <enter>
To accept the whole disk
> t
To change the type of the second partition to LVM
> 2
To choose the second partition
> 8e
To set the type to 'LVM Linux'
> w
To write changes and exit.
変更が適切に機能したことを確認するには、次を実行します。
# fdisk --list
次のようなものが得られるはずです。
Device Boot Start End Blocks Id System
/dev/sda1 2048 524287 261120 83 Linux
/dev/sda2 524288 488397167 243936440 8e Linux LVM
以前のボリュームグループ/論理ボリュームを削除します。
# lvdisplay
システム上にある論理ボリュームを表示します
# lvremove <existing_logical_volume_name>
このインストールを妨げる可能性のあるボリュームインストールを削除する必要がある場合。
# vgdisplay
システム上の既存のボリュームグループを表示します
# vgremove <existing_volume_group>
ボリュームグループと同じです。
ボリュームグループ「vgsnap」を作成する
# vgcreate vgsnap /dev/sda2
結果は次のとおりです。
Volume group "vgsnap" successfully created
論理ボリュームを作成する
# lvcreate --extents 100%FREE --name lvroot vgsnap
デバイスの100%から始まるルート論理ボリューム。
# lvresize --size -30G /dev/mapper/vgsnap-lvroot
これにより、スワップボリュームとスナップショットボリュームの30Gがオフになります。もちろん、スワップ/スナップショットにはより小さいサイズを選択できます。
> 'y'
for the warning shown.
そして、スワップボリュームを作成します。
# lvcreate --size 15G --name lvswap vgsnap
注:現在、15Gの未使用のドライブ領域を残し、将来のスナップショット用に予約しています。
Ubuntuのインストール
ターミナルを閉じて、インストーラーを起動します。
[Use LVM ...]を選択します(ディスク全体の暗号化を有効にすることもできますが、テストしませんでした。)
「その他」を選択して、続行を押します。この段階で、/ dev / mapper / ...ボリュームの多くが定義されています。これらの一部は自動生成されます(lvsnap- *)-現時点では無視できます。
選択:/ dev / mapper / vgsnap-lvroot volume フォーマットとして「ext4」を選択し、「/」としてマウントします
/ dev / mapper / vgsnap-lvswap volumeを選択し、「スワップ領域」を選択します
暗号化されたドライブを作成する場合(スナップショットで動作するかどうかはわかりませんか?)、おそらく/ dev / sda2を選択し、「暗号化するボリューム」をマークする必要があります。でも、テストしませんでした。
注:未使用の15Gは、スナップショットボリューム用に空いています。
選択:/ dev / sda1パーティション。「ext2」としてフォーマットし、「/ boot」としてマウントします
以下- ブートとして/ dev / sda1パーティションを選択します
インストール!
スナップショットのマウント:
スナップショットボリュームを作成する
# lvcreate --size 15G --snapshot --name lvsnap /dev/mapper/vgsnap-lvroot
マウントディレクトリを作成する
# mkdir /mnt/vgsnap-lvsnap
スナップショットを読み取り専用マウントとしてマウントします
# mount -o ro /dev/vgsnap/lvsnap /mnt/vgsnap-lvsnap
スナップショットはオンです!
この時点で、システムを台無しにしたり、ベータ版ドライバーをインストールしたりすることもできます(いいえ!それは不適切です)。
これ以降、いつでも(スナップショットサイズが提供する限り)前の状態に戻ることができます。または、新しい外観に満足している場合は、それを保持します。
自動スナップショットボリュームの空きディスク領域の監視:ここで提供されるスクリプトの調整バージョンを使用:http :
//blog.rimuhosting.com/2012/02/20/cron-script-for-checking-disk-space/ monitor_snapshotスクリプト
を作成しました。
使用/インストール方法は?-上記のリンクとほぼ同じ:
# cd /etc/cron.hourly
# copy /home/<user>/Downloads/monitor_snapshot
# chmod +x monitor_snapshot
初めて実行する前に、電子メールアドレス(通知の送信先など)などの値を編集する方が適切です。適切に構成されている場合、cronデーモンはX時間/日ごとにスクリプトを実行します-あなたが決めるように-そしてスナップショットが一杯になりそうになったら通知します。
スクリプトをテストするには、次を実行します。
# sh /etc/cron.hourly/monitor_snapshot
スナップショットの空き領域の割合(数値)を出力します。
重要!テスト/インストールが完了したら-ロールバックまたは変更を保持して-スナップショットをアンマウントします!
変更のロールバック:(rollback_snapshotスクリプトを参照してください。次の手順が記載されています。ドキュメントの最後にリンクがあります)
# lvconvert --merge /dev/vgsnap/lvsnap
これによりスナップショットもアンマウントされますが、変更はすべて破棄されます。また、次のアクティベーションのみが元に戻されることを示唆する警告が表示されます。
# reboot
注:マージをスキップした場合、スナップショットをマウント解除すると、変更がコミットされます。
変更のコミット-スナップショットのマウント解除:(commit_snapshotスクリプトを参照してください。その中に次の指示があります-ドキュメントの最後にリンクがあります)
# umount /mnt/vgsnap-lvsnap
Will unmount (commit0 the snapshot
# lvremove /dev/mapper/vgsnap-lvsnap
# rm -rf /mnt/vgsnap-lvsnap/
# rm /etc/cron.hourly/monitor_snapshot
Remove the cron daemon script (that is unused)
スナップショットの再マウント:(次の手順を含む再マウントスクリプトを参照してください-ドキュメントの最後にリンク)
# lvcreate --size 15G --snapshot --name lvsnap /dev/mapper/vgsnap-lvroot
# mkdir /mnt/vgsnap-lvsnap
# mount -o ro /dev/vgsnap/lvsnap /mnt/vgsnap-lvsnap
monitor_snapshotをホームディレクトリに保存した場合、復元できます。
# cp /home/<user>/monitor_snapshot /etc/cron.hourly/
# chmod +x /etc/cron.hourly/monitor_snapshot