それぞれのパーティションのコピーが終わったので、KVMのサブホストを起動します。
アプリケーション → システムツール → 仮想マシンマネージャーと進み起動し、web6 を選び、開くをクリック(画像1)すると、画像2が開きますので、電球アイコンをクリックして画像3を表示させる。ここでルートになる領域を指定しますが、コピーしているのでweb4は使えません(webだけにしとけば良かったが、時既に遅し、同じにしてもホストが違うので問題ないし、他の領域ではそうしている)ので削除をします。Virtio 1 を選び、削除をクリックすると、小さなウィンドウが表示されますので、はい をクリックし、削除します。次にハードウェアの追加をクリックすると、
画像4が開きますので、ローカルを閲覧をクリック、
すると画像5が開きますので、管理さえているストレージ,,,,,を選び、閲覧をクリックし、ルートにするパーティションを選び、デバイスタイプは Virtio Diskにしてから、完了をクリック。
そして web6仮想マシン のウィンドウを閉じます。
そして画像1で、web6 を右クリックし、実行をクリックして、起動します。
このままでは、何も表示されないので、上にある 開く アイコンをクリックし、画面を表示します。
あれれ、ブートしないぞー。又,MBRの問題か?(画像6)
2017ー11ー25追記
これはMBRが解らなくなっているから、この問題は”バックアップ用のホストを作り直す(1)”で既に行っているが、仮想ディスクを指定はどうするか解らなかった(hd0,0)では無いと思っていたが、結論は同じ指定で良かった。ただメインホストでは無く、サブホストなのでCentoOSのDVDをサブホストにアタッチしなくてはならない。その方法
まず、仮想マシンマネージャー(画像1)でサブホストを選び、電球のアイコンをクリックすると
画像7が開きますので、(説明の為ですので、サブホストの名前が違いますが)
Boot Optionsを選び、右ペインでCDROMにチェックを入れ、最初にブートさせるため、上矢印(画像は既に最初になっているのでグレーアウトしている)で、一番上にして、適用をクリック
次に画像8で IDE CDROM 1 を選び、右ペインで接続をクリック、これでCD(DVD)ROMにCentOSのインストールDVDを挿入後、加増マシンマネージャーからサブホストを実行すると
Resucureに入れます。
インストールDVDからブートしてMBRを修復する方法はここを参照して下さい。その際、ディスクの指定は (hd0,0) でOKです。
作業が終わったら、最後にCDROMの接続を必ず解除してください。
これでやっとバックアップ用のホストが完成。
”バックアップ用のホストを作り直す”で何回も出てくるので、ここに方法を書く
もちろん baculaの設定は終わっていて、起動している。
bacula-dirが起動していないホストでも出来るみたいだが、やっていないのでbacula-dirが起動しているホスト(smb3) で作業をする。
例として、Clientの名前が web-fd、リストアしたいデーターが web-Rdata、余裕のあるホスト名が smb-fd とする。
# bconsole
Connecting to Director localhost:9101
1000 OK: bacula-dir Version: 5.0.0 (26 January 2010)
Enter a period to cancel a command.
* restore
Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog"
First you select one or more JobIds that contain files
to be restored. You will be presented several methods
of specifying the JobIds. Then you will be allowed to
select which files from those JobIds are to be restored.
To select the JobIds, you have the following choices:
1: List last 20 Jobs run
2: List Jobs where a given File is saved
3: Enter list of comma separated JobIds to select
4: Enter SQL list command
5: Select the most recent backup for a client
6: Select backup for a client before a specified time
7: Enter a list of files to restore
8: Enter a list of files to restore before a specified time
9: Find the JobIds of the most recent backup for a client
10: Find the JobIds for a backup for a client before a specified time
11: Enter a list of directories to restore for found JobIds
12: Select full restore to a specified Job date
13: Cancel
Select item: (1-13): 5
Defined Clients:
1: kvm-fd
2: smb-fd
3: web-fd
Select the Client (1-3): 3
The defined FileSet resources are:
1: web-Mail
2: web-Rdata
3: web-root
4: web-webdata
Select FileSet resource (1-4): 2
+-------+-------+----------+-------------+---------------------+------------+
| JobId | Level | JobFiles | JobBytes | StartTime | VolumeName |
+-------+-------+----------+-------------+---------------------+------------+
| 49 | F | 15,282 | 187,557,669 | 2017-10-18 03:47:34 | Vol-0020 |
| 164 | D | 167 | 1,542,522 | 2017-10-29 03:32:22 | Vol-0115 |
| 174 | I | 1 | 1,193,046 | 2017-10-30 03:28:10 | Vol-0124 |
| 184 | I | 1 | 1,193,146 | 2017-10-31 03:28:31 | Vol-0133 |
| 194 | I | 167 | 1,543,736 | 2017-11-01 03:29:03 | Vol-0142 |
| 204 | I | 1 | 1,194,890 | 2017-11-02 03:26:33 | Vol-0151 |
| 217 | I | 1 | 1,195,480 | 2017-11-03 04:05:36 | Vol-0160 |
| 233 | I | 167 | 1,548,364 | 2017-11-04 08:26:48 | Vol-0170 |
+-------+-------+----------+-------------+---------------------+------------+
You have selected the following JobIds: 49,164,174,184,194,204,217,233
Building directory tree for JobId(s) 49,164,174,184,194,204,217,233 ... +++++++++++++++++++++++++++++++++++++++++
12,664 files inserted into the tree.
You are now entering file selection mode where you add (mark) and
remove (unmark) files to be restored. No files are initially added, unless
you used the "all" keyword on the command line. Enter "done" to leave this mode.
cwd is: /
$ mark *
15,282 files marked.
$ done
Bootstrap records written to /var/spool/bacula/bacula-dir.restore.8.bsr
The job will require the following
Volume(s) Storage(s) SD Device(s)
===========================================================================
Vol-0020 File FileStorage
Vol-0170 File FileStorage
Volumes marked with "*" are online.
15,282 files selected to be restored.
The defined Restore Job resources are:
1: Restore-smb-root
2: Restore-smb-SmbData
3: Restore-kvm-root
4: Restore-kvm-Download
5: Restore-kvm-Thunderbird
6: Restore-web-root
7: Restore-web-webdata
8: Restore-web-Mail
9: Restore-web-Rdata
Select Restore Job (1-9): 9
Run Restore job
JobName: Restore-web-Rdata
Bootstrap: /var/spool/bacula/bacula-dir.restore.8.bsr
Where: /SmbData/kinryo/Restores/web-Rdata
Replace: always
FileSet: web-Rdata
Backup Client: web-fd
Restore Client: web-fd
Storage: File
When: 2017-11-04 09:18:22
Catalog: MyCatalog
Priority: 10
Plugin Options: *None*
OK to run? (yes/mod/no): m
Parameters to modify:
1: Level
2: Storage
3: Job
4: FileSet
5: Restore Client
6: When
7: Priority
8: Bootstrap
9: Where
10: File Relocation
11: Replace
12: JobId
13: Plugin Options
Select parameter to modify (1-13): 5
The defined Client resources are:
1: smb-fd
2: kvm-fd
3: web-fd
Select Client (File daemon) resource (1-3): 1
Run Restore job
JobName: Restore-web-Rdata
Bootstrap: /var/spool/bacula/bacula-dir.restore.8.bsr
Where: /SmbData/kinryo/Restores/web-Rdata
Replace: always
FileSet: web-Rdata
Backup Client: web-fd
Restore Client: web-fd
Storage: File
When: 2017-11-04 09:18:22
Catalog: MyCatalog
Priority: 10
Plugin Options: *None*
OK to run? (yes/mod/no): y
Job queued. JobId=235
*
しばらくして終わったらメールが来る(bacula-dir.confに設定がある。bconsole のままmessageとして同じ内容が表示される。
リストアされたデーターをコピーするには
smb-fd(ホスト名smb3)ではsambaが起動しているので、保存された場所は(Where: /SmbData/kinryo/Restores/web-Rdata)は他のホストから参照が可能。
まずこのデーターをマウントする。
# mount.cifs //smb3.kinryokai.net/kinryo /test1 -o username=administrator
パスワードを聞かれる。/test1は作成して置く
ディレクトリを変更。
# cd /test1/Restores/web-Rdata
コピー先をマウント(例はLVMの領域)
# mount /dev/Data/Rdata /test2
/test2も作成して置く
# cp -pr ./ /test2
NFSでマウントする方法もある。ここを参照
39:バックアップ用のホストを作り直す(3)からの続き
バックアップ用のサーバーで動くサブホストのルートがコピー出来たので、ここからは各サブホストにマウントするデーター領域をコピーする。
これはweb6に
WEBのコンテンツの置き場所である /webdata(ここにWEBで使うmysqlのデーターもある、パーティションは /dev/Data/webdata)
Railsを使うWEBのコンテンツの置き場所の /Rdata(パーティションは /dev/Data/Rdata)
postfix(メール)が使う保存場所である /Mail(メールサーバーはIMAPで運用しているので、すべてのメールがここに溜まり、ユーザーが削除しない限り増え続ける、パーティションは /dev/Data/Mail)
蛇足だがメインとサブホストのルート、smb6以外の各ホストにマウントする領域は250GのSSDに保存してあるのでアクセスが早い筈
smb6にマウントされる領域は
baculaでバックされる各ホストのバックアップデーターの保存場所である /Backup(パーティションは /dev/Backup/Backup)
sambaがデータを置いておく /SmbData(パーティションは /dev/SmbData/Data)
この二つは1TBのHDDにある。ただし/Backupのコピーはいらない、メインの方にデーターがある。
例によってbaculaでリストアで各データーはsambaが走っているsmb3の
/SmbData/kinryo/Ristores/web-webdata
/SmbData/kinryo/Ristores/web-Rdada
/SmbData/kinryo/Ristores/web-Mail
に出来るのでそれをコピーする。
又,/dev/Backup/Backupはコピーしないし、
/dev/SmbData/Dataは大きすぎるので、nfsでコピーすることにする。
これはライブ中にコピーすることになるが、夜中はアクセスが無いので大丈夫だろう
baculaのバックアップデーターをコピーする方法はここを参照
nfsでコピーする方法
運用中のサブホスト smb3 で
# yum install nfs-utils
インストールされていた。
# gedit /etc/idmapd.conf
抜粋
Domain = kinryokai.net ←コメントを外し、自分のドメインにする。
/SmbData 192.168.xxx.0/24(rw,no_root_squash,no_all_squash)
# service rpcbind status
起動していたので
# service nfslock status
これも起動していた
# service nfs status
今度は起動していないので
# service nfs start
NFS サービスを起動中: [ OK ]
NFS クォータを起動中: [ OK ]
NFS mountd を起動中: [ OK ]
NFS デーモンを起動中: [ OK ]
*******************
ここでバックされるメインのホスト(kvm6)に移り
nfs-utilsがインストールされているか確認し(インストール済みだった)、/etc/idmapd.conf を同じように設定する
nfsを起動する
# service rpcbind status
起動済み
# service rpcidmapd status
停止していたので
# service rpcidmapd start
OKが表示されれば起動成功
# service netfs start
mounting filesystems: [ OK ]
そしてマウントする
# mount -t nfs -o rw smb3.kinryokai.net:/SmbData /test1
これで /test1 に SmbData がマウントされコピー出来る。PWD変更
# cd /test1
sambaのデーター保存場所である /dev/SmbData/Data をマウント
# mount /dev/SmbData/Data /test2
そしてコピー開始
# cp -pr ./ /test2
これは保存容量にもよるが、数時間以上かかる(私は10時間以上かかった用な気がする)
38:バックアップ用のホストを作り直す(2)より
実は前項で触れていませんでしたが、再起動は何回か行っております。その際
設定サーバーに問題があるようです
(/usr/libexec/gconf-sanity-check-2がステータス256で終了しました)
インストールに問題があります
GNOMEの電源管理,,,,,,,,,
いよいよfstabでコメントアウトしている領域を作り、運用中のホストとシンクロさせます。
先ずはLVMの作成
私はsdaに3つのパーティションを作り、sda1はext4でフォーマットし、親ホストの / 領域にしています。
sda2とsda3のパーティションはLVMでさらに領域を作っています。
swap領域は1TBのHDDにありますが、これは壊れて以降、変更していないので、そのまま使えます。
それでは PV の作成
# pvcreate /dev/sda2
# pvcreate /dev/sda3
VGの作成
# vgcreate Kvm6 /dev/sda2
# vgcreate Data6 /dev/sda3
ボリュームグループをsda2にKvm6、sda3にData6と言う名前で作る。
ここで重要なのはVG名をオリジナルのホストのVG名とは違える事、さもないと何かの都合でオリジナルのホストにこのディスクをつなげるとエラーになる。
LVの作成
# lvcreate -L 13G -n web Kvm6
書式は lvcreate -L 割り当てるサイズ -n lvの名前 どのVGに作成するか
同様に、他のLVも作って行きます。
2017-11-13追記(これをしないと起動しません):
起動Diskにするためにパーティションをmsdosにする(赤のアンダーラインはSHELLへのコマンド、青のは各アプリへのコマンド、緑は表示部分の注意する所)
画像1の説明、(この画像は例の為LVがtempになっています)
parted /dev/vg名/lv名 でパーティションをを作成
(parted)と表示されたら、現在の状況を見るため、pコマンド
パーティションテーブルがloopになっている(アンダーラインで見にくいが)
テーブルを変更する為にmklabelコマンド
ラベルとして msdos
警告には y
次にパーティションが無くなったので再度作成、mkpart
種類は p
ファイルシステムは ext4
開始は 1049K
終了は 14G
出来たか見るために、再度 p
出来たがブートフラグが経ってないので
set 1 boot on (これは領域1にbootフラグをセットと言う意味)
再度 p コマンド
テーブルがmsdosでブートフラグも立っている。
q コマンドで parted を終わる
一部作業の記入を忘れていました 2017ー11ー25
# losetup -f ← loopの空いている番号を調べる、初めてなら loop0
# losetup /dev/loop0 /dev/Kvm6/temp ← loop0にtempを指定
# kpartx -a /dev/loop0
2017-11-25追記ここまで
ここで ls /dev/mapper で見ると tempp1が出来ているので
mkfs.ext4 /dev/mapper/Kvm6-tempp1で領域をフォーマットする
ここで重要なのはlv名(ここではtemp)の直ぐ後にp1(パーティションの1)が付く名前にすること
2017-11-13追記ここまで
全部のLVにprted と フォーマットを行う
一様LVを確認
# lvscan
作成したLVが表示されて入ればOK、LVの名前もチェックする事。
念のため再起動し、コピー作業をしていきます。
バックアップ用のサブホストにmountしている領域は
色々なダウンロードファイルの保存場所である、/dev/Data/Download とメールソフトのthunderbird が使用している /dev/Data/Thunderbird です。
(thunderbirdはメールの保存場所を標準の設定から変更してここにある。こうするとホストの変更の際にメールデーターの移動が簡単になる)
先ずは運用中のサーバーでbaculaでリストアをして置く。
この辺の作業はここを参照してください
必要なデーターは smb3サブホストの /SmbData/kinryo/Restores/ 以下に kvm-Download と kvm-Thunderbird として出来る
smb3ではsambaが走っているので、windowsやLinuxから参照出きるので、先ずはDownloadから
# mount.cifs //192.168.XX.XX/kinryo /test1 -o username=administrator
一部伏せ字、パスワードを聞かれるので入力する。これで、smb3の /SmbData/kinryo以下のファイルが /test1にマウントされた。そしてPWD(現在のディレクトリ位置を表示するコマンドだが)変更
# cd /test1/Restores/kvm-Download
コピーされるLVMをマウント
# mount /dev/Kvm/Download /test2
そしてコピー
# cp -pr ./ /test2
同様に kvm-Thunderbird もやる
そして fstabの変更
# gedit /etc/fstab
/dev/sda1 / ext4 defaults 0 0
/dev/Swap/kvm swap swap defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
/dev/Data/Download /Download ext4 defaults 0 0 ← # を取る
/dev/Kvm/Thunderbird /Thunderbird ext4 defaults 0 0 ← # を取る
でmountし直す。そしてマウントしたデーターが正しいかチェックする
ここで念のため再起動
****** ここからは運用中のサーバーで
次はサブホストのルートになるコピーですがbaculaでrestoreしたデーターを使用する事にします。
(各サブホストは起動中なので、そのままコピーしたくない)
コピーしたいサブホストは WEB(web5)とsamba(smb3)の二つ、
又、resutoreされるデーターは smb3の SmbData/kinryo/Restoresの下にコピーされる様に設定してある。(restoreの最後に保存されるホストの設定が必要)
restoreはここを参照してください。
リストアが終了したら
******* バックアップ用のホストに移り
LVMにコピーをしていくので、マウント、
# mount /dev/Kvm6/web /test2
test2は事前に作ってある。そしてsambaに出来たデーターは既にkinryo以下にマウントしてあるので、
(サブホストweb5のルート以下のデーターは web-rootにリストアされている。)
作業しやすいようにPWDを変更
# cd /test1/Restores/web-root
そしてコピーをしていく
# cp -pr ./ /test2
コピーが終わったら、ダブリの修正、ダブっている物は
サブホスト名、サブホストのUUID、 IPアドレス、ディスクのUUID等、
先ずはホスト名の変更
# gedit /test2/etc/sysconfig/network
抜粋
HOSTNAME=XXXX.kinryokai.net ← XXXXの所を使いたいホスト名に変更
サブホストのUUIDは
# uuidgen
da4be530-b98f-4876-9a56-ddb71dfd1f30
# virsh edit web
textモードにしてから、名前を使いたいホスト名(hostnameと合わせるため)とUUIDを Shift+Ctrl+v でペーストし、esc : w q と順に押して保存し終了するがエラーが出た
エラー: operation failed: domain 'smb' already exists with uuid 62418b8a-cd51-48e2-6185-627ec437aa93
失敗しました。 再試行しますか ? [y,n,f,?]:
色々やったがよくわからない、もっと良い方法がありそうだが,取りあえず
/etc/libvirt/qemu/web5.xmlを他の場所にコピーし、それをエディターで修正後、
# virsh undefine web
で削除し、別の場所に修正保存しているweb.xml(ファイル名も変えた)を /etc/libvirt/qemu/ に切り取り後、コピーし
# virsh define /etc/libvirt/qemu/web.xml
で定義しなおしたら出来た。
邪道だが(もっとも上のやり方も邪道みたいだが)強引に web.xml のファイル名と各変更をし、メインホストを再起動しても出来た)
次はIP
# gedit /test2/etc/sysconfig/network-scripts/ifcfg-eth0
抜粋
IPADDR=192.168.ZZ.XX ←XXの所を使いたいアドレスに
次はディスクのUUIDだがumountしてからだが、blkidで確認しておく、そして
# umount /test2
# blkid
web6のUUIDを控えておいて
# tune2fs -U `uuidgen` /dev/Kvm/web6
これで、UUIDが変更になった筈だが、確認
# blkid
次はsambaのサブホストであるsmb6のコピー。これは /test1/Restores/smb-root にあるので
# cd ../smb-root
# mount /dev/Kvm/smb6 /test2
そしてコピー
# cp -pr ./ /test2
終わったらweb6の場合と同じように、ホスト名, IPアドレス、ディスクのUUID を変更してumount する。
40:バックアップ用のホストを作り直す(4)に続く
まずはエラーの整理
1:私は色々な領域を / にmountしているが、ここはまだ出来ていない所があるのでエラーになるから、一時的に/etc/fstab を修正する
2:ネットワークカードのMACが違っているので、udev がエラーになり、ネットワークが使えない
3:hostnameがコピーの為ダブっている。
4:mysqld のスタートで失敗になる。
5:mcelog daemon が CPU is unsupported と表示が出る
又,起動時にネットワークが働いていないのでそこら中で時間がかかる(cups等)が気長に待つとログイン画面になる
最初にfstabの修正
# gedit /etc/fstab
/dev/sda1 / ext4 defaults 0 0
/dev/Swap/kvm swap swap defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
#/dev/Data/Download /Download ext4 defaults 0 0 ← # を付けコメントアウト
#/dev/Kvm/Thunderbird /Thunderbird ext4 defaults 0 0 ← # を付けコメントアウト
次はネットワークだが、エラーは
Device eth0 does not seem to be present, delaying initialization
原因はMACアドレスの違いなので、udevが誤検知するので
# gedit /etc/udev/rules.d/70-persistent-net.rules
# PCI device 0x10ec:0x8168 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="d0:50:99:25:XX:XX", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
上の2行はオリジナルのMACなので削除する
# PCI device 0x10ec:0x8168 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="d0:50:99:95:XX:XX", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
上が本来のMAC、なのでeth1 を eth0 に変更する
# gedit /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE="br0"
TYPE="Bridge"
ONBOOT=yes
IPADDR=192.168.XX.XX ← ここを使いたいIPアドレスに
PREFIX=24
GATEWAY=192.168.XX.1
NAME="br0"
ホスト名の変更
# gedit /etc/sysconfig/network
抜粋
HOSTNAME=XXXXX.kinryokai.net ← XXXXの所を使いたいホスト名に
mysqldのスタートの失敗を直す。
/etc/my.cnf を調べたがエラーになりそうな所は無い。
色々調べると /tmp のアクセス権が問題見たい。バックアップからリストアーしているのに何故だか解らないが /tmp のアトリビュートがrootしか書き込み出来なくなっていたので
# chmod 777 /tmp
で全てが書き込み可に。
mcelogのエラー
色々調べるとmcelogd は普通はいらないようです。なのでこれを走らない様にします。
# chkconfig mcelogd off
そして再起動、無事エラー無く起動した
39:バックアップ用のホストを作り直す(3)に続く
ここにあるように、不注意(部品の問題も多々あり)でホストが壊れたので、早速バックアップ用のホストを作って行きますが、オリジナルのホストはBACULAでバックアップを取っているので、最初からインストールするのではなく、baculaからリストアーします。
実はもっと簡単な方法があります。運用中のホストを停止出来れば、サブホストに付けるSSD(HDD)をUSBでアタッチしてddコマンドでディスクを丸ごとコピーしてしまえばよい(私は250GBのSSDなので結構時間がかかるが)。あるいはサブホストだけならクローンを作る手もある(サブホストの停止が必要だが)ただ、ダブリが出てくるのでその対処が必要。
まずは、バックアップ用のホストに使用するSSDを初期化します。
このSSDを運用中のホストにUSBで継ぎ、
# parted /dev/sdc
(私の場合はsdcだが、皆さんの環境で違う)。
今ある領域を全部消す(rm 領域ナンバー)
その後、今運用中のホストと同じ順序、サイズで、新規にパーティションを作る(mkpart、詳しくはgoogle先生に聞いて)
その後、sdc1をフォーマット
# mkfs.ext4 /dev/sdc1
私はさらに領域2と3もあり、ここはlvmにしているが、この辺はCentOSが動いてから手当てする
ここで出来たsdc1をマウントする
# mount /dev/sdc1 /test1
test1は以前に作成済み。また、親ホストは /bootも含め すべてsda1(この場合はsdc1)にしている
ここでbaculaの出番、bacula-dir.confにリストアーする場所を指定するが、今回はこれを変更し、
restore jobに where = /test1 とし、baculaを再起動してからリストアをする。しばらくすると終わるので、
# umount /test1
で取り外し、バックアップ用のサーバーに接続する。
この辺の作業はここを参照してください
****ここからは バックアップ用サーバーでの作業****
まずはブートしてみるが、うんでもなければすんでもない、多分MBRがチャンとリストアーされていないと思う。
なので、CentOS 6.8 (実際は6.9になっているが)のインストール CDからブートし、LINUX RESUCURE を選ぶ、言語をJapaneseにしてキーボードをjp106を選び、
ネットワーク設定は不要で、続いて、続行(Contiue)を選ぶとSHELLが表示されるので
sda1は /mnt/sysimage にマウントされているので、これを / のするため
bash-4.1# chroot /mnt/sysimage
GRUBを走らす
bash-4.1# grub
rootの指定
grub> root=(hd0,0)
MBRを修正する(ここに詳しくある)
grub> install (hd0,0)/boot/grub/stage1 d (hd0) (hd0,0)/boot/grub/stage2 p (hd0,0)/boot/grub/grub.conf
grub> quit
でGRUBを終了し、
bash-4.1# exit
で再起動する
無事、起動するがエラーがいっぱいだー。これはコピーをしているので、hostname, 固定IPアドレス等などがダブっているからだ
38:バックアップ用のホストを作り直す(2)に続く
ルーターをヤマハのNVR510に変更した時、この際だからとサーバーやルーター等の置き場所も変更した。
その際、当然、電源は落として各機器をつなぎ直すのだが、バックアップ用のホストの電源プラグを差し込む時(マザーボードはAM1HーITXで19Vの単一電源)重大事件が発生した。
写真では分かりにくいがプラグのプラス側(内側)の金属が黒いプラスチックより少しはみ出している。
コンピューターへ差し込み時に、ここが差込口のそばにある金属(バックプレート、ここはアース)に触れてしまう事もある。結果、プラスとマイナスがショートする事になる。一瞬スパークし直ぐに離したが、バックアップ用のホストではなく、運用中のホストが飛んだ!!!!(同じ19Vの電源から供給している)
色々調べると、マザーボードが逝かれてた。とほほ
仕方なく同じマザーを買いたいが、今は作っていない。ヤフーオークションを見たが、2万円弱から5万円もする(足元を見やがって)
買ったのは確か8千円位の記憶がある。仕方ないので他の19V単一電源で動くITXマザーを物色、中々良いのがない。
条件は19V単一電源、ディスプレーはRGB(KVMスイッチで四台のサーバーを運用している関係で、KVMスイッチがRGBしかない)出来ればAMDのCPU、でもあっても品切れだったりする。
そうこうしているうちに中古で約1万円のAM1HーITXが見つかったので早速購入。めでたしめでたし。
教訓:プラグは絶対に内側の金属がプラスチックより飛び出していないプラグを使うこと
この後はバックアップ用のサーバーを運用にして、バックアップ用のサーバーを作っていくがそんなに難しくない。
本来なら、マザーボード以外は正常なので、マザーボードのみを交換すればいいのだが、
実はこのマザーが見つかる前に、諦めてASRockのJ3160DC-ITXで製作途中だったので、SSDの中身がINTELのCPU用になっているので、最初から作り直し(ここを参照)
右上がルーター:NVR510、左上はONU(光信号を電気信号に変換する)、下のアルミケースは右がKVMで作った各サーバー、左がそのバックアップ用のサーバーだが普段は電源が入っていない、夜中にcron間違い、BIOSで電源が入り、cronからrsyncを走らせ稼働中のサーバーからコピーし、シンクロさせている
ルーター変更の一番の理由はVPNをやりたかったこと。
ソフトでも可能だが、この際ルーターを少し、ましな物に変更した方が後々良さげ。
私は、静的なIPマスカレードで、WEBサーバーやmailサーバーを運用している関係で、最初に全部の設定をして置き、設定が終わったら一気に取り替えた方がダウンする時間が少ない。
なので、NVR510にノートコンピューターを付け、WAN側はオープンのまま設定をしていった。
その時、ランダムに変更していったので、プロバイダー接続のインターフェースの選択で、WANがグレーアウトし、設定が出来ない。
色々試したが、分からないのでYAMAHAのサポートへ電話、プロバイダーの設定の前にIPフォワードの設定等をするとこういう事があるらしい。
順番に設定をしていかないといけないらしい。なので、INIT SW(裏にあり、細いもので押す)を3秒以上、電源SWと一緒に押し、リセットをかけて、設定をし直した。
最初にローカルIPの設定、私はデフォルトの192.168.100.0/24からは変更している。
ここで注意:ノートをローカルのLANに繋いでいるが、DHCPサーバーから自分のIPをもらっている。それは192.168.100.X なので、ローカル側のLANを変更するとノートのIPは取り直しが必要になる。
次にプロバイダーの接続に移る、今度はWANが選べるが、継いでいないので、回線の自動判別の所で
WAN側の回線が抜けているため、ブロードバンド回線の自動判別を中止しました。
その後、ルーターを変更すればOKなはず。
変更後のメリット
1:もちろんVPNが出来る事
2:ローカルネットワークにある色々なサーバーのアクセスにhostsファイルに設定を入れなくてもよくなった。
これは家庭用の一般的なルーターでは、一度出たパケットをさらに自分に戻せないので、DNSの設定を見なくするため、
LOCAL LAN 内にあるWEBサーバーやメールサーバーにアクセスするにはhostsファイルに設定をするのだが、
NVR510はこの様な動きをサポートしているので、DNSを見に行っても問題ない。新しいコンピューターを継ぐ度にこの設定をするのは結構面倒くさい。
特にノートだと自宅ではLOCAL LANの中だが、外では違うので、その度にhostsファイルを変更しなくてはならない。
ローカルでは 192.168.xx.xx だが外ではグローバルIP
3:ローカルのサーバーから自分宛のメールが届かなかったが(メールサーバーが自分のローカルネットワークにある為)、これも素直に設定すればよい。
このホストはsambaが走っていて、ドメインを運用しているサブホストである。
まずはpingで確認、まずはルーター
# ping 192.168.xx.xx 一部伏せ字
これは通る。次はグローバルIPの分かっているホスト、私はgoogleのDNSサーバー
# ping 8.8.8.8
これもOK、次はURLで(どこでもいいが私の好きなJALで)
# ping www.jal.com
応答なし、どうもDNSに問題ありそう。
このホストは NetworkManager が走っているのと、sambaをドメインで運用している関係で自分自身も参照している(これが問題だったのが後で判明)
色々設定を見直しても原因が分からない。もちろん NetworkManager を再起動すると /etc/resolve.confを書き換える。
でも network を再起動すると /etc/sysconfig/network-scripts/ifcfg-eth0 にしたがって、やはり/etc/resolve.confを書き換えるようだ。
この辺の関係が頭をスパゲティー状態にし、どつぼにハマった。
原因は簡単
ifcfg-eth0 に DNS1= xx.xx.xx.xx 見たいに記入するが、ここに ルーターのIPと自分自身のIPを記入するが、その順番が問題。
私は自分自身のIPをDNS1に設定していたが、ここをルーターのIPに替え、DNS2に自分自身のIPし、
NetworkManager を再起動したらOKになった。
原因ははっきりしないが、多分ルーターをYAMAHAのNVR510に変更したせいみたい。
以前のルーターはNTTからのレンタル品をもっとも簡単な物
Windows7にCentOS7をインストールし、デュアブートにした時、デフォルトで起動されるOSはCentOS7になる。
これをWindows7が起動するように変更したい。
CentOS7になって、grub2の設定が随分と変更になって、一筋縄では行かなかったのでメモ。
参考URL:http://blogcdn.rutake.com/techmemo/2016/07/11/centos7-grub2%E3%81%AE%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E8%B5%B7%E5%8B%95os%E5%A4%89%E6%9B%B4/
先ずはブートメニューの確認
# grep ^menuentry /boot/grub2/grub.cfg
menuentry 'CentOS Linux (3.10.0-693.2.2.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os -
-unrestricted $menuentry_id_option 'gnulinux-3.10.0-693.2.2.el7.x86_64-advanced-b2d5e6b6-a12b-4ce1-ac4c-f196a21d71a7' {
menuentry 'CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unr
estricted $menuentry_id_option 'gnulinux-3.10.0-514.el7.x86_64-advanced-b2d5e6b6-a12b-4ce1-ac4c-f196a21d71a7' {
menuentry 'CentOS Linux (0-rescue-f7fd48b227624da38c1c2077cbfe8017) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unr
estricted $menuentry_id_option 'gnulinux-0-rescue-f7fd48b227624da38c1c2077cbfe8017-advanced-b2d5e6b6-a12b-4ce1-ac4c-f196a21d71a7' {
menuentry 'Windows 7 (loader) (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-01D32F7C3F732FC0' {
menuentry "Microsoft windows 7" {
# grub2-set-default 'Windows 7 (loader) (on /dev/sda1)'
とし、これを反映する為
# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-693.2.2.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-693.2.2.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-514.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-514.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-f7fd48b227624da38c1c2077cbfe8017 Found initrd image: /boot/initramfs-0-rescue-f7fd48b227624da38c1c2077cbfe8017.img
Found Windows 7 (loader) on /dev/sda1
done
そして反映しているか確認
# grub2-editenv list
saved_entry=Windows 7 (loader) (on /dev/sda1)
やっと出来た。