タグ・アーカイブ: CentOS

すみません今回もネタ投稿ですw

qpstudy05 の懇親会でLTやるため、急ごしらえでスライド作りましたw
今回のネタは「CentOS5.5のガチ最小構成インストール」です。
どんだけ初期パッケージを削れるか、どんだけサービス落とせるかを
ゴリゴリやってみたってところです。

…続きを読む

CentOS 5.4 x86_64で運用している自宅サーバですが、yum check-updateすると

kmod-kvm.x86_64                       83-105.el5_4.22                    updates
kvm.x86_64                            83-105.el5_4.22                    updates
kvm-qemu-img.x86_64                   83-105.el5_4.22                    updates

とのこと。アップデート自体は

# yum update

でOKですが、これらパッケージはホストOSのカーネルモジュールをアップデートするので、以下の手順を実行して修正を有効にする必要があります。

1. KVMゲストの仮想マシン(VM)をすべて停止します。

2. ハイパーバイザマシンをリブートするか、またはスーパーユーザとして、(「lsmod」を使用して確認した)kvm、ksm、kvm-intel、 kvm-amdの各モジュールのうち現在実行されているものすべてを(「modprobe -r [module]」を使用して)削除し、(「modprobe [module]」を使用して)リロードします。

3. KVMゲストのVMを再起動します。

※ 参考サイト
http://jp.redhat.com/support/errata/RHBA/RHBA-2009-1488J.html
http://www.jp.redhat.com/support/errata/RHBA/RHBA-2009-1423J.html
https://rhn.redhat.com/errata/RHSA-2010-0088.html

またまたお金をかけずに冗長化しようシリーズです(笑)。今回はCentOS 5.2でbonding設定を行ったのでメモ。NICはeth0とeth1があるので、これを組み合わせてbond0にします。今回行う設定は以下の通り。

bond0のIPアドレス・・・192.168.0.100/24
bond0にまとめるインターフェイス・・・eth0とeth1
IPv6は設定しない

1. bondingモジュールの読み込み

[root@ishikari ~]# cd /etc/modprobe.d/
[root@ishikari modprobe.d]# vi bonding
alias bond0 bonding
option bond0 miimon=100 mode=1 primary=eth0

今回はNICの監視をMIIにやらせます。

2. bondingインターフェースの定義

[root@ishikari ~]# cd /etc/sysconfig/network-scripts/
[root@ishikari network-scripts]# vi ifcfg-bond0
DEVICE=bond0
BOOTPROTO=static
BROADCAST=192.168.0.255
IPADDR=192.168.0.100
IPV6ADDR=
IPV6PREFIX=
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes

3. bondインターフェースへethXデバイスを参加させる

既存のeth0とeth1にIPアドレスを設定せず、bond0のslaveとして振舞うように設定する。

[root@ishikari network-scripts]# vi ifcfg-eth0
# Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
MASTER=bond0
SLAVE=yes

[root@ishikari network-scripts]# vi ifcfg-eth1
# Intel Corporation 82540EM Gigabit Ethernet Controller
DEVICE=eth1
BOOTPROTO=static
ONBOOT=yes
MASTER=bond0
SLAVE=yes

あとはネットワークの再起動をするだけ。
# /etc/init.d/network restart

確認してみる。
$ /sbin/ifconfig
bond0     Link encap:Ethernet  HWaddr 00:90:CC:E9:2D:DD
          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::290:ccff:fee9:2ddd/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:226686 errors:0 dropped:0 overruns:0 frame:0
          TX packets:254940 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:53590591 (51.1 MiB)  TX bytes:65817477 (62.7 MiB)

eth0      Link encap:Ethernet  HWaddr 00:90:CC:E9:2D:DD
          inet6 addr: fe80::290:ccff:fee9:2ddd/64 Scope:Link
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:226686 errors:0 dropped:0 overruns:0 frame:0
          TX packets:254942 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:53590591 (51.1 MiB)  TX bytes:65817801 (62.7 MiB)
          Interrupt:193 Base address:0xa000

eth1      Link encap:Ethernet  HWaddr 00:90:CC:E9:2D:DD
          UP BROADCAST SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Base address:0xecc0 Memory:fe100000-fe120000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8019 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8019 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:943061 (920.9 KiB)  TX bytes:943061 (920.9 KiB)

はいできたー。あとはケーブルを片方ずつひっこ抜いて、通信が途切れないのを確認すればOK。
ね、簡単でしょ?

※ 注意点
非bond環境からbonding環境にするときはそのままモジュールを読み込めばよいが、bonding環境から非bond環境に戻すときは、ネットワークの再起動だけじゃなくてOSごと再起動したほうがよい。

webサーバの冗長化をするのに、ロードバランサ買うお金がない (っ´∀`)っ ゃー は、以前リバースプロキシを作ったことはありますが、今度はheartbeatでの冗長化にチャレンジです。

■■ 環境

■ サーバ共通スペック

Dell PowerEdge 600SC
Pentium    4 2.4GHz
Memory 2GB

■ ホスト情報

[ishikari.in.example.com]
eth0 192.168.0.100

[sorachi.in.example.com]
eth0 192.168.0.101

■ ネットワーク

ishikariとsorachiにそれぞれ、仮想IPアドレス(以下VIP)として192.168.0.200を割り当ててこれをhttp受信用に使います。ただし、VIPの設定はheartbeatの設定ファイルで行うため、先んじてエイリアスを切る必要はありません。192.168.0.200 は、ezo.in.example.com でもアクセスできるよう、あらかじめPCのhostsに書いておきます。

■■ 参考

http://www.server-world.info/note?os=ce5&p=heartbeat&f=1
http://www.server-world.info/note?os=ce5&p=heartbeat&f=2
http://www.linux-ha.org/ja/GettingStartedRevisedV2_ja
http://enterprisezine.jp/article/detail/162

■■ 注意点

これらの作業は、ishikari、sorachiともに基本的な設定を同じにします。ただし、それぞれのホストに固有の設定をしなけらばならない箇所については、文中に但し書きをしています。

■ heartbeatインストール

[root@ishikari ~]# yum install heartbeat

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 heartbeat               i386       2.1.3-3.el5.centos  extras            1.7 M
Installing for dependencies:
 PyXML                   i386       0.8.4-4          base              1.1 M
 heartbeat-pils          i386       2.1.3-3.el5.centos  extras            213 k
 heartbeat-stonith       i386       2.1.3-3.el5.centos  extras            311 k

Transaction Summary
=============================================================================
Install      4 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 3.3 M
Is this ok [y/N]: y

しかし、heartbeatは1回ではインストールされず、もう一度yumでインストールしてあげる必要があります。

[root@ishikari ~]# yum install heartbeat

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 heartbeat               i386       2.1.3-3.el5.centos  extras            1.7 M

Transaction Summary
=============================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 1.7 M
Is this ok [y/N]: y

今度はOK。

Transaction Test Succeeded
Running Transaction
  Installing: heartbeat                    ######################### [1/1]

Installed: heartbeat.i386 0:2.1.3-3.el5.centos
Complete!
※ sorachiでは、先に PyXML heartbeat-stonith heartbeat-pils をインストールしてみたのですが、やはりheartbeatは2度インストールする必要がありました。

さて、インストールが終わったところで、今度は設定作業です。