RHEL6 Backup/Restore TIPS(設定調整編)
RHEL6(Red Hat Enterprise Linux 6 Server)におけるリストアの忘備録(その2)です。
リストアが成功してシステムが起動するものの…アレ?という点を書いてみます。
1.ネットワークインターフェースのインターフェース名(ethX)が変わってIPアドレスも違う
= 原因 =
修理などでシステムボード(メインボード)を交換された場合、ネットワークインターフェースのハードウェアアドレス(MACアドレス)が変わってしまいます。
RHEL6では、ネットワークインターフェースのハードウェアアドレス(MACアドレス)とそれに対応するインターフェース名(ethX)がシステム内部に記録されています。
この為にハードウェアアドレス(MACアドレス)が変われば、インタフェース名が自動的に変更されてしまいます。
(例)「eth0」「eth1」の2つのポートを持つシステムボード(メインボード)を交換した場合、デフォルトの設定では、新しいネットワークインターフェースのポートは、それぞれ「eth2」「eth3」 と認識されます。
= 対処方法 =
以下の2ファイル(2ポート目がある場合は3ファイル)の内容を書き換えます。
- /etc/udev/rules.d/70-persistent-net.rules
- /etc/sysconfig/network-script/ifcfg-eth0
- /etc/sysconfig/network-script/ifcfg-eth1 (2ポート目がある場合)
# vi /etc/udev/rules.d/70-persistent-net.rules # This file was automatically generated by the /lib/udev/write_net_rules # program, run by the persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on a single # line, and change only the value of the NAME= key. # PCI device 0x8086:0x10d3 (e1000e) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="e8:39:35:23:b5:fd", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" # PCI device 0x8086:0x10d3 (e1000e) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="e8:39:35:23:b5:fc", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" # PCI device 0x8086:0x10d3 (e1000e) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="28:92:4a:2d:21:c5", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3" # PCI device 0x8086:0x10d3 (e1000e) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="28:92:4a:2d:21:c4", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"
「NAME=”eth0″」「NAME=”eth1″」の行を削除、「NAME=”eth2″」の行を「NAME=”eth0″」に変更、「NAME=”eth3″」の行を「NAME=”eth1″」に変更、保存して終了
# cat /etc/udev/rules.d/70-persistent-net.rules # This file was automatically generated by the /lib/udev/write_net_rules # program, run by the persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on a single # line, and change only the value of the NAME= key. # PCI device 0x8086:0x10d3 (e1000e) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="28:92:4a:2d:21:c5", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" # PCI device 0x8086:0x10d3 (e1000e) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="28:92:4a:2d:21:c4", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
変更後の「/etc/udev/rules.d/70-persistent-net.rules」の内容
# vi /etc/sysconfig/network-script/ifcfg-eth0 DEVICE="eth0" BOOTPROTO=none NM_CONTROLLED="yes" ONBOOT=yes TYPE="Ethernet" UUID="2f048d22-13ff-4d1d-a4f4-1f755d7ab0d1" #HWADDR=E8:39:35:23:B5:FC HWADDR=28:92:4A:2D:21:C4 IPADDR=172.16.100.1 PREFIX=24 GATEWAY=172.16.100.254 DNS1=127.0.0.1 DOMAIN= DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no NAME="System eth0"
# vi /etc/sysconfig/network-script/ifcfg-eth1 DEVICE="eth1" BOOTPROTO=none NM_CONTROLLED="yes" ONBOOT="no" TYPE="Ethernet" UUID="48c18b46-5208-4a6c-ac2c-28739c89d0f8" #HWADDR="E8:39:35:23:B5:FD" HWADDR=28:92:4A:2D:21:C5 IPADDR=172.16.101.1 PREFIX=24 GATEWAY=172.16.101.254 DNS1=127.0.0.1 DOMAIN= DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no NAME="System eth1"
「HWADDR=」の行を新しいMACアドレスに書き換えます。
この後にシステムを再起動すれば「eth0」「eth1」でネットワークインターフェースが動作します。
(参考情報) 【Red Hat Enterprise Linux 6 Hint & Tips】 Network設定の注意点
2.サービス(デーモン)が起動しない
= 原因 =
こちらの環境ではBIND(ネームサーバ)が起動時にエラーになってしまう現象が発生しました。
dumpしてrestoreしただけなので、何も設定は変更していないのですが、ログファイル(/var/log/messages)を見ると
named: could not configure root hints from '/dev/null': permission denied named: loading configuration: permission denied named: exiting (due to fatal error)
というエラーが記録されています。
パーミッションを見ても問題はなく、頭を抱えてしまいました。
インターネットで原因を調べると(ラベルが変わってしまったのが原因らしく)SElinuxで拒否されているとのこと。
※何故ラベルが変わってしまったかは不明
= 対処方法 =
「restorecon」コマンドでラベルを初期化します。
# restorecon -vR /var/named/chroot
ファイルを1つずつ初期化するのが面倒なので、「-R」オプションでディレクトリを再帰的に初期化しました。
「/var/named/chroot」はBINDのchroot jailのホームディレクトリになり、「/dev/null」もこのディレクトリ配下にあります。
昔のLinuxはLVMもSElinuxも実装されていませんでした。
その分単純で扱いが楽だったのですけどねぇ。
バージョンが上がって色んな機能が実装されていく度にシステムが複雑になってきた気がします。
そういう意味ではLinuxもWindowsに近くなったような…