Browse Month: February 2013

Ubuntu で正しく Ruby 1.9.3 をインストールする方法

Ubuntu Server 12.10 で Ruby 1.9.3 を System Ruby として使いたい場合 ruby1.9.3 というパッケージをインストールするだけです。


$ sudo apt-get install -y ruby1.9.3

しかし、/etc/alternatives 以下が 1.9.1 のままとなってしまいますので、ruby1.9.3 をインストールしたあとで、次のコマンドを実行すると正しくなります。
なお、このコマンドを実行しなくても、見た目上は正しく Ruby 1.9.3 に上書きされているので問題ないかと思います。


$ sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby1.9.3 500 \
--slave /usr/bin/ri ri /usr/bin/ri1.9.3 \
--slave /usr/bin/irb irb /usr/bin/irb1.9.3 \
--slave /usr/bin/erb erb /usr/bin/erb1.9.3 \
--slave /usr/bin/rdoc rdoc /usr/bin/rdoc1.9.3
$ sudo ln -sf /usr/bin/gem1.9.3 /etc/alternatives/gem
$ sudo ln -sf /usr/share/man/man1/gem1.9.3.1.gz /usr/bin/gem.1.gz

参考
Ruby 1.9.3 on Ubuntu 11.04

LVM で、論理ボリュームを拡張する方法

最近、LVM でディスクパーティションを作成していたりしています。

今まで 論理ボリュームを拡張するとき具体的なサイズを指定したのですが、VG の空き領域をすべて拡張したいときが多かったのですが、次のように指定すればいいことが分かりました。

$ lvextend -L +100%FREE /dev/mapper/vg/root

これは、かなり覚えにくい記述方法ですが、便利ですね。

あとは、ext3 なら resize2fs、ext4 なら resize4fs すれば完了ですね。

$ resize4fs /dev/vg/root

LVS DSR で、リアルサーバの設定を見直したお話

今までずっと LVS DSR で、リアルサーバでは iptables に、次のようなルールを追加した REDIRECT していましたが、iptables のオーバーヘッドが気になったので、lo:0 を定義するように変更してみました。


*nat
: PREROUTING ACCEPT [0:0]
: OUTPUT ACCEPT [0:0]
: POSTROUTING ACCEPT [0:0]
-A PREROUTING -d VIP -j REDIRECT
COMMIT

1.lo:0 を定義する

$ sudo vi /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=VIP
NETMASK=255.255.255.255
ONBOOT=yes

2. lo:0 を起動する

$ sudo ifup lo:0

3. sysctl を変更する、net.ipv4.netfilter.ip_conntrack_max の設定は不要なのであわせて削除する

$ sudo vi /etc/sysctl
# Ignore ARP
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

4. sysctl の設定を再読み込みする

$ sudo sysctl -p

5. iptables を停止する

$ sudo service iptables stop
$ sudo chkconfig iptables off

# 負荷的には、ほとんど変わらずといった印象、iptables を無効にすることで SSL の場合とかにリアルサーバ側で REDIRECT できないことが唯一の欠点かと思いますが、リアルサーバ側で ip_conntrack の設定に悩まなくて済むのはいいことだと思いますねぇ。