
|
[バックナンバーのトップへ] [Linux システム管理のトップへ] いますぐ実践! Linux システム管理 / Vol.124 / 読者数:1190名こんばんは、うすだです。
先日、ひさびさに、玄人のかたから、メールをいただきました。 先週の宿題の答えに関しまして、以下のご指摘をいただいた次第です。
restore コマンド自身を restore する、という主旨から、 同OS上で復元することを前提として書きましたが、実際には、 KNOPPIX などの Live-CD で立ち上げ直してから行うほうが、 安全(というか普通)ですよね。
また、restore コマンドは、
たとえば Ubuntu ではダイナミックリンクになっていました。
実行時にライブラリを必要としますので、
ライブラリが書き換わるとまずそうな気がします。
(すみません…試していません。) 他にも、いろいろ有用な情報をいただきましたが、紙面?の都合上、 割愛させていただきます。 速攻で懺悔したところで、今週も、はりきってまいりましょう! 今週のお題 - 正統派なバックアップを行う / 王の帰還前回、前々回と、dump コマンドと restore コマンドの使いかたを、 簡単にご紹介してまいりました。
Vol.122 - 正統派なバックアップを行う …はい、いいかげん、今週で終わりにしなければ、と思っております。 最後はやっぱり、フルバックアップを使って、ゼロの状態からの復元に、 挑戦してみたいと思います。 環境によって、その方法はいろいろ異なると思いますが、 以下の環境ではこうやったらうまくいった、という一事例として、 読んでいただけますと幸いです。
まず、今回試す環境ですが、だれでも試せるように、
VMware Player 上で行いました。
(というのは建前で、それしかなかっただけです…。)
VMware Player, virtual machine, virtual PC
Ubuntu 7.10 日本語ローカライズド Desktop CD リリース
KNOPPIX Japanese edition フルバックアップを取って、復元するまでの手順は、以下の通りです。
それでは、順番に、ご説明していきます。
Ubuntu のインストールは、インストール CD を使って VMware Player を立ち上げ、
いくつかの簡単な質問に答えるだけです。
インストール後、再起動して、Ubuntu が動作したら、
早速バックアップを…と言いたいところですが、おそろしいことに、
dump がありません。 $ sudo apt-get install dump
また、諸般の事情により、今回は NFS を使用しました。 $ sudo apt-get install nfs-common インストールできましたら、シングルユーザモードに移行します。 $ sudo telinit 1 そして、いつものように、フルバックアップを行います。
通常、バックアップは、テープデバイスなどに行いますが、
今回そういうわけにもいきませんでしたので、NFS サーバ上に記録しました。 # mount -o nolock nfsserver:/export/backup /mnt /mnt にマウントしました。ここに、フルバックアップを行います。 # dump -0u -f /export/backup/ubuntu.dump /
ちなみに、わたしの非力な PC 上では、20分ほどかかりました。
# fdisk /dev/hda
Command (m for help): p <== パーティション情報の表示
...
Device Boot Start End Blocks Id System
/dev/hda1 * 1 496 3984088+ 83 Linux
/dev/hda2 497 522 208845 5 Extended
/dev/hda5 497 522 208813+ 82 Linux swap / Solaris
Command (m for help): q <== fdisk を終了
メモったら、シャットダウンします。 # shutdown -h now 電源がオフされて、VMware Player が終了すると思います。
次に、空の HDD に差し替えます。 % mv Ubuntu.vmdk Ubuntu.vmdk.bak % mv Ubuntu.vmdk.org Ubuntu.vmdk
差し替えたら、KNOPPIX を使って、VMware Player を立ち上げます。
$ su -
# fdisk /dev/hda
Command (m for help): n <== 新しいパーティションの作成
Command action
e extended
p primary partition (1-4)
p <== プライマリパーティションを指定
Partition number (1-4): 1 <== 1番を指定 (/dev/hda1)
First cylinder (1-522, default 1): 1 <== 1 を指定
Last cylinder or +size or +sizeM or +sizeK (1-522, default 522)\
: 496 <== hda1 の End(496)を指定
Command (m for help): a <== ブート可能な状態の指定
Partition number (1-5): 1 <== 1番を指定 (/dev/hda1)
Command (m for help): n <== 新しいパーティションの作成
Command action
e extended
p primary partition (1-4)
e <== 拡張パーティションを指定
Partition number (1-4): 2 <== 2番を指定 (/dev/hda2)
First cylinder (497-522, default 497):
Using default value 497
Last cylinder or +size or +sizeM or +sizeK (497-522, default 522):
Using default value 522
Command (m for help): n <== 新しいパーティションの作成
Command action
l logical (5 or over)
p primary partition (1-4)
l <== 論理パーティションを指定
First cylinder (497-522, default 497):
Using default value 497
Last cylinder or +size or +sizeM or +sizeK (497-522, default 522):
Using default value 522
Command (m for help): t <== システムID の変更
Partition number (1-5): 5 <== 5番を指定 (/dev/hda5)
Hex code (type L to list codes): 82 <== swap を指定
Changed system type of partition 5 to 82 (Linux swap / Solaris)
Command (m for help): w <== 書き込んで終了
そして、ext3 ファイルシステムと、swap を作成します。 # mkfs.ext3 /dev/hda1 # mkswap /dev/hda5 では、いよいよ、復元を行います。 # mount /dev/hda1 /media/hda1 # mkdir /media/nfs # mount nfsserver:/export/backup /media/nfs # cd /media/hda1 # restore -r -f /media/nfs/ubuntu.dump これで、復元できました。
…と言いたいところですが、このままでは立ち上がりません。 # grub grub> root (hd0,0) grub> setup (hd0) grub> quit
また、/boot/grub/menu.lst に書かれている root デバイスの UUID を、
変更する必要があります。 # tune2fs -l /dev/hda1 tune2fs 1.40-WIP (14-Nov-2006) Filesystem volume name: <none> Last mounted on: <not available> Filesystem UUID: 877bd722-160f-456d-bc87-00610701c7bd Filesystem magic number: 0xEF53 ...
Filesystem UUID: がまさにソレです。 # vi /boot/grub/menu.lst
書き換えたら、今度こそ、再起動してください。
普通に Ubuntu が立ち上がれば、無事完了です。 Busybox v1.1.3 (Debian 1:1.1.3-5ubuntu7) Built-in shell (ash) Enter 'help' for a list of built-in commands. (initramfs) 以上、フルバックアップの復元方法を、ご紹介しました。 フルバックアップを復元する、とある一例に過ぎませんが、 なにかの参考になりましたら、幸いです。 また、もし VMware Player で試したい貴兄は、以下をお使いください。 http://www.usupi.org/sysad/124-ubuntu-vm.tgz
わたしが使っている VMware Player のバージョンは 1.0.3 で、
ちょっと古いですので、最新版でうまく動かなかったらすみません。 宿題の答え先週の宿題は、 インクリメンタルバックアップを行う際に、途中のレベルを下げると、 どうなるでしょうか。 でした。
レベルを、0 -> 2 -> 3 と上げながらバックアップを取り、
その後 1 に下げてみたいと思います。 # cd /boot # dump -0u -f /export/backup/boot0.dump /boot # touch /boot/__level2.tmp # dump -2u -f /export/backup/boot2.dump /boot # touch /boot/__level3.tmp # dump -3u -f /export/backup/boot3.dump /boot
わかりやすいように、レベルごとに、ダミーのファイルを作っておきました。 # touch /boot/__level1.tmp # dump -1u -f /export/backup/boot1.dump /boot すると、dump が最初に、以下のようにおっしゃいます。
DUMP: Date of this level 1 dump: Sat Nov 3 21:14:42 2007
DUMP: Date of last level 0 dump: Sat Nov 3 21:09:15 2007
前のレベルは 0 だとおっしゃっていますので、レベル 0 からの差分を、 記録してくれるようです。実際、復元をしてみますと、 # mkdir /tmp/boot; cd /tmp/boot # restore -r -f /export/backup/boot0.dump # restore -r -f /export/backup/boot1.dump # ls __level* __level1.tmp __level2.tmp __level3.tmp
ちゃんと、判別用のダミーファイルが、すべて復元されています。 # mkdir /tmp/boot2; cd /tmp/boot2 # restore -r -f /export/backup/boot0.dump # restore -r -f /export/backup/boot2.dump # restore -r -f /export/backup/boot3.dump # restore -r -f /export/backup/boot1.dump restore: Incremental tape too high また、レベルを 0 -> 2 -> 4 -> 3 の順に変化させてバックアップを行いますと、 最後のレベル 3 は、レベル 2 からの差分を記録します。 # dump -3u -f /export/backup/boot3.dump /boot DUMP: Date of this level 3 dump: Sat Nov 3 21:23:01 2007 DUMP: Date of last level 2 dump: Sat Nov 3 21:21:47 2007 ... というわけで、インクリメンタルバックアップは、直前の、 自分より低いレベルからの差分を記録してくれる、が正解でした。 今週の宿題今週の宿題は、 dump/restore の代わりに、tar を使って、フルバックアップと復元を 試みてください。 です。 今週行ったことを、tar でやってみるとどうなるか、という、それだけの宿題です。 …が、結構手間がかかりますので、時間と根気のある貴兄だけでかまいません。 (こんなこと、だれもやらないと思いますが…。) あとがきわたしは、学生のころから、GNU Emacsというエディタを使っています。 社会人になってからは、プログラムを書くときには vi を使うようになりましたが、 それでも、メールや NetNews の閲覧、はたまた文書を書く際などに、 Emacs は必須なエディタとして、その頂点に君臨しています。 さて、先日、わけあって、Emacs の設定をいじくっていたところ、 大切なテキストファイルが、日本語が化けた状態で保存されてしまいました。 コードが違うというレベルではなく、 日本語部分がすべて ~ に変わってしまっていました。 これでは、もう元には戻せません。 しかも、バックアップマシン上のファイルと同期をとってしまいましたので、 頼みの綱のバックアップも失ってしまいました。 常に、バックアップと同期をとっていれば、壊れたときも安心だと思っていました。 しかし、壊れたことに気がつかないと、 バックアップまで破壊してしまうことになるのだということを、身をもって知りました。
不幸中の幸いとでも言いましょうか、ありがたいことに、
1週間くらい前のバックアップが、どこかから出てきました。
バックアップをとっているから安心、なんて言っていてはいけません。 みなさんも、バックアップを過信しないよう、お気をつけください。
さて、いちおう毎週発行を目標として、それなりにやってきたつもりですが、 ここのところの本業の多忙さなどを考慮して、今後は、思い切って、 月2回発行に変更したいと思います。
具体的には、第1および第3日曜日に、発行したいと思っています。
今週も、ここまで読んでいただき、ありがとうございました。
「いますぐ実践! Linux システム管理」の解除は、以下からできます。
バックナンバーは、こちらにほぼ全部そろっています。
「栗日記」−おとなのアートというサイトで、栗の絵が紹介されます。 |
▼ トップ ▼ プロフィール ▼ リンク
▼ 作ってみました
▼ せんでん
▼ 最近読んだ本
[X]
「賢者の書」 喜多川 泰「セキュリティウォリア」 Cyrus Peikari, Anton Chuvakin 「CORE MEMORY」 John Alderman, Mark Richards 「新訳 星の王子さま」 サン=テグジュベリ / 倉橋 由美子 「センネン画報」 今日 マチ子 「粟津潔 デザインする言葉」 粟津潔 「Binary Hacks」 高林 哲,鵜飼 文敏,佐藤 祐介,浜地 慎一郎,首藤 一幸 「Make: Volume01」 オライリー・ジャパン 「セーラが町にやってきた」 清野 由実 「手紙屋」 喜多川 泰 「Linuxカーネル2.6解読室」 高橋 浩和,小田 逸郎,山幡 為佐久 「人蕩し術」 無能 唱元 「子育てハッピーアドバイス2」 明橋 大二, 太田 知子 「ラッセル幸福論」 B. Russell 「それでも人生にイエスと言う」 Viktor Emil Frankl 「子育てハッピーアドバイス」 明橋 大二, 太田 知子 「考具」 加藤 昌治 「北欧デザイン<3>」 渡部 千春 「北斎の謎を解く」 諏訪 春雄 「体感美術館」 平野 暁臣 「チベット永遠の書」 Theodore Illion 「リナックスの革命」 Pekka Himanen 「人月の神話」 Frederick Phillips,Jr. Brooks 「ヤバい経済学」 Steven D. Levitt, Stephen J. Dubner 「小布施ッション<2001-2002>」 セーラ・マリ カミングス 「アンパンマン伝説」 やなせ たかし 「夢をかなえるゾウ」 水野 敬也 「ゲーム開発者のためのAI入門」 David M. Bourg, Glenn Seemann 「北欧デザイン<2>」 渡部 千春 「北欧デザイン<1>」 渡部 千春 「ヒューマン2.0」 渡辺 千賀 「中国・ロシア同盟がアメリカを滅ぼす日」 北野 幸伯 「超ロング・セラー 絶滅寸前商品」 湯浅 豊彦 「The BUG(ザ・バグ)」 すずき ひろのぶ,かとう みつあき 「デザインのデザイン」 原 研哉 「マキアヴェッリ語録」 塩野 七生 「ハンバーガーを待つ3分間の値段」 斎藤 由多加 「星の旅人-スペイン「奥の細道」-」 黛 まどか 「食品の裏側」 安部 司 「On Lisp」 Paul Graham 「ぼくが医者をやめた理由 つづき」 永井 明 「あなたならどうする?」 Jack Nikolaschka 「セキュアプログラミング−失敗から学ぶ設計・実装・運用・管理」 Mark G. Graff, Kenneth R. van Wyk 「「左利き」は天才?−利き手をめぐる脳と進化の謎」 David Wolman 「自分の中に毒を持て」 岡本 太郎 「アトピーの薬を減らす本」 田中 貴子 「岡本太郎「明日の神話」修復960日間の記録」 吉村 絵美留 「X51.ORG THE ODYSSEY」 佐藤 健寿 「アレルギーっ子の暮らし応援BOOK」 佐藤 のり子 「沖縄文化論」 岡本 太郎 「「伝説の社員」になれ!」 土井 英司 「コンピュータの構成と設計(上)」 Patterson & Hennessy 「カラスのジョンソン」 明川 哲也 「ドリルを売るには穴を売れ」 佐藤 義典 「頭がよくなる照明術」 結城 未来 「クロフォードのインタラクティブデザイン論」 Chris Crawford 「いじめの根を絶ち子どもを守るガイド」 Barbara Coloroso 「非常識のすすめ―逆発想の仏教論」 ひろさちや 「Linuxアドバンストネットワーク構築ガイド - HAサーバ構築編」 デージーネット 「イノベーションの達人!」 Tom Kelly, Jonathan Littman 「クリエーター50人が語る創造の原点」 小原 啓渡 「欺術 - 史上最強のハッカーが明かす禁断の技法」 Kevin Mitnick 「楽しい気象観察図鑑」 武田 康男 「入門 Ajax」 高橋 登史朗 「リリカルな自画像」 岡本 太郎 「やぎの目ゴールデンベスト」 林 雄司 「初めてのPython 第2版」 Mark Lutz,David Ascher 「鼻兎」 小林 賢太郎 「なぜ、これがアートなの?」 Amelia Arenas 「芸術起業論」 村上 隆 「まほう色の瞳」 Enrique Barrios 「ラーメンズつくるひとデコ」 ラーメンズ 「R25 つきぬけた男たち」 R25編集部 「美の呪力」 岡本 太郎 「しろのあお」 上大岡 トメ 「ザ・ゴール」 Eliyahu M. Goldratt 「ハッカーと画家」 Paul Graham 「岡本太郎に乾杯」 岡本 敏子 「Fedore Core Expert」 Software Design 「誰も知らない男」 ブルース・バートン 「子どもが育つ魔法の言葉」 ドロシー・ロー・ノルト 「国家の罠」 佐藤 優 「夜回り先生」 水谷 修 「やぎの目絵日記」 林 雄司 「7つの習慣」 スティーブン・R. コヴィー 「まろ、ん?−大掴源氏物語」 小泉 吉宏 「ザ・サーチ グーグルが世界を変えた」 ジョン・バッテル 「ポストモダン・マーケティング」 スティーブン ブラウン 「機動戦士ガンダムさん」 大和田 秀樹 「小エロのひみつ - Webやぎの目研究発表」 林 雄司 「これ、誰がデザインしたの?」 渡部千春 「60分間・企業ダントツ化プロジェクト」 神田 昌典 「ガルシアへの手紙」 エルバート ハバード 「人生は素晴らしいものだ」 オグ・マンディーノ 「ザ・マインドマップ」 トニー・ブザン,バリー・ブザン 「ワインバーグのシステム思考法」 G.M.ワインバーグ 「渋谷ではたらく社長の告白」 藤田 晋 「渋井真帆の日経新聞読みこなし隊」 渋井 真帆 「コラム息切れ」 小野 法師丸 「早朝起業」 松山 真之介 「変な人が書いた驚くほどツイてる話」 斎藤 一人 「35歳から仕事で大切にしたいこと」 村井 勉 「金融広告を読め」 吉本 佳生 「発想する会社!」 トム・ケリー,ジョナサン・リットマン 「エハイク」 吉田 戦車 「人生の旋律」 神田 昌典 「仕事の思想」 田坂 広志 「CPUの創りかた」 渡波 郁 「非常識な成功法則」 神田 昌典 …これ以前は記録してません…
▼ 気に入ってる本
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||