hnakamur’s blog

ものすごい勢いで忘れる私のために未整理でもいいからとりあえずメモ

ラベル CentOS の投稿を表示しています。 すべての投稿を表示
ラベル CentOS の投稿を表示しています。 すべての投稿を表示

2011-02-15

7zip、bzip2、zipの圧縮率比較

CentOS5.5でとあるDBダンプで圧縮レベル最高同士で比較してみた。

コマンドはこんな感じ。

bzip2 -c9 example.dmp > example.dmp.bz2
zip -9 example.zip example.dmp
7za a -mx example.7z example.dmp

結果は以下の通りです。

$ ls -l example.*
-rw-rw-r-- 1 backup backup  7128321 Feb 15 14:39 example.7z
-rw-rw-r-- 1 backup backup 74055680 Feb 15 14:39 example.dmp
-rw-rw-r-- 1 backup backup  8794739 Feb 15 14:40 example.dmp.bz2
-rw-rw-r-- 1 backup backup 11548513 Feb 15 14:42 example.zip

7zipはp7zipというパッケージ名でrpmforgeにあります。

2010-12-29

sshのauthorized_keysでのアクセス元IP制限

Manual Pages: sshd(8)
http://www.openbsd.org/cgi-bin/man.cgi?query=sshd&sektion=8

行頭にfrom="pattern-list"をつけておけばよい。
・ホスト名またはIPアドレス
・192.168.0.*などのパターン
・192.168.0.0/24などのCIDR表記(OpenSSH5.1以降 www.openssh.org/txt/release-5.1

CentOS5.5のopensshは4.3p2-41.el5_5.1であるため、CIDR記法で書いてもログインできませんでした。
CentOS5.5で試したところホスト名では
Permission denied (publickey,gssapi-with-mic).
が出てしまいました。IPアドレスならOKでした。実運用でもIPアドレスを指定するほうが確実そうなので放置することにします。

chkconfig --addを忘れて/etc/rc0.d/K*が作られずはまった件のメモ

例としてfooというサービスの場合、chkconfig --add fooをしなくてもchkconfig foo onだけで起動時に実行されてしまうが、/etc/rc0.d/K*fooは作られないためシャットダウン時には実行されない。忘れずにchkconfig --add fooを実行すること。

2010-12-22

CentOS x86_64で*.i386をインストール対象外にする

/etc/yum.confの[main]に以下の行を追加。
exclude=*.i?86

既にインストールされてしまっているパッケージは以下のコマンドで削除。
yum remove \*.i386

2010-12-19

CentOSのKVMのゲストOSに2枚目のネットワークカードを追加

ゲストOSが1枚のネットワークカードでブリッジで動いていることとホスト側では2枚のネットワークカードの両方をブリッジに設定済みであることを前提とします。
なお、この方法は試しにやってみたらできたという手順なので、もっとよい手順があるかもしれません。

ゲストOSで/etc/sysconfig/network-scripts/ifcfg-eth0をコピーしてifcfg-eth1を作成し、適宜編集。MACアドレスを適当に変更(但し頭の54:52:00:は変えずに下3オクテットのみを変えます。上3オクテットはKVMで決まっている値のため(ソース失念))。
また/etc/sysconfig/networkのGATEWAYも編集(hnakamur’s blog: CentOSでネットワークカード2枚挿しの場合のゲートウェイの設定を参照)。

ゲストOSをシャットダウン。

ホストOSでドメインのxml(/etc/libvirt/qemu/<ドメイン名>.xml)を編集。interfaceのタグをコピペして、mac addressを先程ゲストOSでeth1に割り当てた値にし、bridgeをホストのもう一つのブリッジデバイス(br1)にします。
<domain type='kvm'>
  …(略)…
  <devices>
    …(略)…
    <interface type='bridge'>
      <mac address='54:52:00:4f:0a:85'/>
      <source bridge='br0'/>
    </interface>
    <interface type='bridge'>
      <mac address='54:52:00:4f:0a:86'/>
      <source bridge='br1'/>
    </interface>
    …(略)…
  </devices>
</domain>

以下のコマンドで設定を反映。
# virsh define /etc/libvirt/qemu/<ドメイン名>.xml

CentOSでネットワークカード2枚挿しの場合のゲートウェイの設定

この説明ではeth0をLAN側、eth1をWAN側とします。
GATEWAYの設定は/etc/sysconfig/network-scripts/のifcfg-eth0とifcfg-eth1ではコメントアウトして/etc/sysconfig/networkにeth1のGATEWAYを書く(GATEWAYDEVは書かなくても大丈夫でした)。
DNS1、DNS2の設定は/etc/sysconfig/network-scripts/のifcfg-eth0ではコメントアウトしてifcfg-eth1では有効にする。

その後以下のコマンドで設定を反映。
# /etc/init.d/network reload

参考:
Reference Guide
ルータにするための基本設定

CentOSでネットワークをブリッジにする手順

bridge-utilsのインストール

bridge-utilsをインストールするのを忘れずに。
# yum install bridge-utils

設定ファイルの編集

以下の説明のMACアドレスとIPアドレスは実際の環境に合わせて適宜読み替えてください。
/etc/sysconfig/network-scripts/以下のifcfg-eth0を修正し、ifcfg-br0を作成します。

修正前

/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
HWADDR=00:01:02:03:04:05
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.100
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.1


修正後

/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
HWADDR=00:01:02:03:04:05
ONBOOT=yes
BRIDGE=br0
#BOOTPROTO=static
#IPADDR=192.168.0.100
#NETMASK=255.255.255.0
#DNS1=192.168.0.1
#GATEWAY=192.168.0.1

/etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BRIDGE=br0
BOOTPROTO=static
IPADDR=192.168.0.100
NETMASK=255.255.255.0
DNS1=192.168.0.1
#HWADDR=00:01:02:03:04:05


設定を反映

# /etc/init.d/network reload
リモートから操作している場合は端末の接続が切れるので、端末を閉じて別途開きなおします。
ただしすぐには繋がりませんでした。20~30秒待ってから接続すると大丈夫でした。

"Shutting down interface br0:"で表示が10秒程度止まりますが、その後"Bringing up interface br0:"も表示されて元の端末で引き続き作業可能でした。

2010-12-18

CentOS x86_64でphpをソースからビルド

Apacheもソースからビルドして/usr/local/apache2に入れた場合の話です。

sudo yum install mysql-devel.x86_64
tar jxf php-5.3.4.tar.bz2
cd php-5.3.4
./configure --with-apxs2=/usr/local/apache2/bin/apxs --enable-mbstring --with-libdir=lib64 --with-mysql --with-pdo-mysql

2010-12-16

LVMを使用しているKVMのゲストのディスクイメージ拡張

参考:
あやの日常あるいは平穏な日々: 【CI鯖】LVM拡張を試みる
CentOS で LVM 物理/論理ボリュームサイズを縮小する - maruko2 Note.
2010-12-29追記:こちら↑を参考にスワップパーティションは一旦削除してから拡張してその後スワップパーティションを作り直すほうがよいです。そうしない場合system-config-lvmで見るとLogVol00の物理領域がLogVol01を挟んで2つに分かれてしまいました。

イメージファイルの拡張


まずイメージファイルのフォーマットを確認します。
# qemu-img info /var/lib/libvirt/images/vm1.img
実行結果はこんな感じ。
image: /var/lib/libvirt/images/vm1.img
file format: raw
virtual size: 10G (10737418240 bytes)
disk size: 7.5G
もしfile format: rawとなっていなければ、qemu-img convertでrawに変換します。

10Gに6G追加する場合は以下のようにします。イメージファイルのバックアップをとった上で、ddのseekを使って末尾に6Gの領域を追加します。
# cd /var/lib/libvirt/images
# cp vm1.img vm1.img.bak
# dd if=/dev/zero of=vm1.img bs=1G count=6 seek=10


# cd /var/lib/libvirt/images
# mv vm1.img vm1.img.bak
# dd if=/dev/zero of=zero6G.img bs=1G count=6
# cat vm1.img.bak zero6G.img > vm1.img



hnakamur’s blog: KVMのゲストのHDDをマウントしてLive CDからブートの手順でLive CDからブートします。

テキストモード「Boot (text mode)」を選択し、ログインプロンプトが出たらrootでパスワード無しでログインします。

fdisk /dev/hda
Linux LVMのパーティションを一旦削除して、サイズを拡大して作り直し、パーティションタイプをLinux LVM(8e)にします。
/dev/hda2がLinux LVMの場合は、p、d、2、n、p、2、Enter、Enter、t、2、8e、w、qとなります。

再起動します。
# reboot

物理ボリュームの拡張


テキストモード「Boot (text mode)」を選択し、ログインプロンプトが出たらrootでパスワード無しでログインします。

現在の物理ボリュームの状態を確認します。
# pvs

/dev/hda2を拡張します。
# pvresize /dev/hda2

変更後の物理ボリュームの状態を確認します。
# pvs

論理ボリュームの拡張


ここではVolGroup00/LogVol00を拡張します。私の環境ではこれがルートパーティションになっています。

現在の論理ボリュームの状態を確認します。
# lvs

論理ボリュームを拡張します。
# lvextend -L+6G /dev/VolGroup00/LogVol00

変更後の論理ボリュームの状態を確認します。
# lvs

ファイルシステムの拡張


マウント解除。
# umount /dev/VolGroup00/LogVol00

ファイルシステムチェック。
# e2fsck -f /dev/VolGroup00/LogVol00

ファイルシステムのリサイズ。
# resize2fs /dev/VolGroup00/LogVol00

Live CDをシャットダウン

# shutdown -h now

KVMのゲストのHDDをマウントしてLive CDからブート

Live CDの入手と配備

CentOS-5.5-x86_64-LiveCD.isoをCentOSミラーサイトからダウンロードして/var/lib/libvirt/images/に置きます(場所はどこでも可)。

KVMでゲストを起動

libvirtで起動しようと試みましたが失敗(後述)したので、qemu-kvmコマンドで起動します。
/usr/libexec/qemu-kvm -m 1024 -smp 1 -boot d \
-drive file=/var/lib/libvirt/images/vm1.img,if=ide \
-cdrom /var/lib/libvirt/images/CentOS-5.5-x86_64-LiveCD.iso \
-vnc localhost:1

この後UltraVNCなどのvncviewerで接続します。

(失敗メモ) libvirtでCD-ROMからブートを試みるも失敗


/etc/libvirt/qemu/vm1.xmlを以下のように書き換えます。
<domain type='kvm'>
  <name>ora1</name>
  <uuid>97f129e6-9b87-9998-0247-d573d774be81</uuid>
  <memory>2097152</memory>
  <currentMemory>2097152</currentMemory>
  <vcpu>1</vcpu>
  <os>
    <type arch='x86_64' machine='rhel5.4.0'>hvm</type>
    <boot dev='cdrom'/>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' cache='none'/>
      <source file='/var/lib/libvirt/images/vm1.img'/>
      <target dev='hda' bus='ide'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu'/>
      <source file='/var/lib/libvirt/images/CentOS-5.5-x86_64-LiveCD.iso'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
    </disk>
    <interface type='network'>
      <mac address='54:52:00:54:37:df'/>
      <source network='default'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target port='0'/>
    </console>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='5901' autoport='no'/>
  </devices>
</domain>
変更内容は
<boot dev='cdrom'/>

<disk type='file' device='cdrom'>
      <driver name='qemu'/>
      <source file='/var/lib/libvirt/images/CentOS-5.5-x86_64-LiveCD.iso'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
    </disk>
の追加です。


上記の定義を反映。
# virsh define /etc/libvirt/qemu/vm1.xml

起動してコンソールに接続
# virsh start vm1; virsh console vm1

gparted-live-0.7.1-1.isoもダウンロードして/var/lib/libvirt/images/に配置し、
<source file='/var/lib/libvirt/images/CentOS-5.5-x86_64-LiveCD.iso'/>

<source file='/var/lib/libvirt/images/gparted-live-0.7.1-1.iso'/>
に変えてみても同じでした。

おそらくCentOS-5.5-x86_64-LiveCD.isoとgparted-live-0.7.1-1.isoはシリアルコンソールで繋がるように作られていないということなのかと思います。

2010-12-13

CentOSでheartbeatでVIP引き継ぎ(その2)

hnakamur’s blog: CentOSでheartbeatでVIP引き継ぎをまたやってみて少し知識が増えたので追記。

heartbeatのインストール時エラーの回避方法


heartbeatのインストール時にエラーになる件は、一旦heartbeat-pilsとheartbeat-stonithを入れてからheartbeatを入れれば回避できるとのこと。
sudo yum install heartbeat-pils heartbeat-stonith
sudo yum install heartbeat

参考:ベリラボ - wiki - CentOS52_heardbeatインストール、初期設定


/etc/ha.d/haresources

以下のようにネットワークアドレスのビット数やデバイスも指定可能。詳しくはサンプルファイル(/usr/share/doc/heartbeat-2.1.3/haresources)参照。
vm1 IPaddr::192.168.101.20/24/eth0

なお、このIPaddrは/etc/ha.d/resource.d/に置かれているスクリプト名で、手動でも実行可能です。

手動VIP追加
sudo /etc/ha.d/resource.d/IPaddr 192.168.101.20/24/eth0 start
手動VIP削除
sudo /etc/ha.d/resource.d/IPaddr 192.168.101.20/24/eth0 stop

ERROR: Setup problem: Couldn't find utility /bin/gawkの対処法

CentOSをインストール時にBaseのチェックもはずして最小構成にした場合の話です。

heartbeatの実行中に/var/log/ha-logに以下のエラーが発生しました。
ResourceManager[2873][2943]: 2010/12/13_16:08:00 info: Running /etc/ha.d/resource.d/IPaddr 192.168.101.20 start
IPaddr[2962][2976]: 2010/12/13_16:08:00 ERROR: Setup problem: Couldn't find utility /bin/gawk
IPaddr[2945][2977]: 2010/12/13_16:08:00 ERROR:  Program is not installed
R

gawkが無いとインストールしようとしましたが、すでに入っていました。

ググるとこちらに対処法が載ってました。
VIP not appearing when heartbeat starts | Linux-HA | Users

whichをインストールすれば解決します。
sudo yum install which

実験用監視スクリプト


#!/bin/sh

url=http://192.168.101.20/
timeout=2

while :
do
  response=`curl -s -S --connect-timeout $timeout $url`
  if [ $? -ne 0 ]
  then
    break
  fi

  echo "`date +%Y-%m-%dT%k:%M:%S` $response"

  sleep 1
done

2010-12-07

手動でVIP切り替え実験

192.168.0.0/24のネットワークで
192.168.0.11 host1
192.168.0.12 host2
192.168.0.12 host3
で192.168.0.10をVIPとして使う場合。
(実際は他のネットワークで実験したのを読み替えてこの記事を書いているので間違っている可能性もあります)

まず、host1にVIPを追加。
host1# ip addr add 192.168.0.10/24 dev eth0

確認。
host1# ip addr show

host3$ curl http://192.168.0.10/
# ⇒host1のページが表示される

VIPをhost1で削除して、host2に追加。
host1# ip addr del 192.168.0.10/24 dev eth0
host2# ip addr add 192.168.0.10/24 dev eth0
host2# arping -q -A -I eth0 -c 1 192.168.0.10
arpingでGratuitous ARPをうつ方法は
http://linux-ip.net/html/ether-arp.html
の"Example 2.2. Gratuitous ARP reply frames"を参考にしました。
send_arpというコマンドもあるそうですが標準ではインストールされていないのに対して、arpingはインストールされているのでこちらを使うほうがいいです。

確認。
host3$ curl http://192.168.0.10/
# ⇒host2のページが表示される

2010-12-04

CentOS5.5でext3ファイルシステムをext4に変換

参考:
[1] FractalizeR’s WebSite » CentOS: Migrating root (and any other) filesystem from ext3 to ext4
[2] Ext4 Howto - Ext4

# yum update
# yum install e4fsprogs

まずはrootパーティション以外で実験。/etc/fstabを編集し対象パーティションのファイルシステムタイプをext3からext4に修正。ext3のファイルシステムはext4としてもマウントできる。ext4 - Wikipedia参照。
# vi /etc/fstab

ext4対応のinitrdを作成。
# mv /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img.old
# mkinitrd -v --with=ext4 /boot/initrd-`uname -r`.img `uname -r`

作成したinitrdを使うため再起動。
# reboot

再起動したら対象のパーティション(ここでは/dev/sdc2とします)をアンマウントして、ext4に変換。tune2fsではなくtune4fsを使用していることに注意。オプションの意味は[1]参照。
# umount /dev/sdc2
# tune4fs -O extents,uninit_bg,dir_index,flex_bg -m 1 /dev/sdc2
"Please run e4fsck on the filesystem."と言われるので実行します。[1]ではe4fsckではなくfsckにしていますが、ここではe4fsckにしてみます。オプションは[1]を真似します。
# e4fsck -pvfDC0 /dev/sdc1
/dev/sdc1: One or more block group descriptor checksums are invalid.  FIXED.
/dev/sdc1: Group descriptor 0 checksum is invalid.

/dev/sdc1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
        (i.e., without -a or -p options)
すると[1]に書かれていた通り、-pオプションを外すように言われるので外して再実行。
# e4fsck -vfDC0 /dev/sdc1
すると
e4fsck 1.41.9 (22-Aug-2009)
One or more block group descriptor checksums are invalid.  Fix?
と聞かれるのでyを押します。あとはしばらく待ちます。
無事変換が終わったらマウントします。
# mount /dev/sdc1

2010-11-19

KVMでブリッジを使う設定でCentOSをインストール

参考:CentOS/KVMによるサーバ仮想化 - OSSでLinuxサーバ構築


前提

DNSサーバ兼DHCPサーバがLAN内に存在。IPアドレスは192.168.0.1とします。

ホスト、ゲストとも固定IPを使用。IPアドレスはそれぞれ192.168.0.2、192.168.0.3とします。


ホスト側のネットワーク変更


/etc/sysconfig/network-scripts/ifcfg-br0を作成。

# Bridge
DEVICE=br0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.0.2
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.1
TYPE=Bridge
DELAY=0

/etc/sysconfig/network-scripts/ifcfg-eth0を編集(HWADDRは編集前の値をそのまま残す)。

DEVICE=eth0
TYPE=Ethernet
HWADDR=00:00:00:00:00:00
ONBOOT=yes
BRIDGE=br0


以下のコマンドを実行してネットワーク再起動。

# /etc/init.d/network restart

ゲストのブリッジ用にホストのiptablesを変更。これを忘れるとゲストで名前解決が出来ないので注意。

/etc/sysctl.confを編集して以下の設定を追加または変更。

net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0

以下のコマンドを実行して設定を即座に反映。

# sysctl -p /etc/sysctl.conf
# /etc/init.d/libvirtd reload

以下のコマンドでゲストOSをインストール(一旦DHCPでインストールします)。

# virt-install --connect qemu:///system -n vm1 -r 512 --vcpus=1 \
 --disk path=/var/lib/libvirt/images/vm1.img,size=100 \
 --os-type linux --accelerate \
 --bridge=br0 \
 --location='http://ftp.riken.jp/Linux/centos/5.5/os/x86_64' \
 --extra-args='console=tty0 console=ttyS0,115200n8'

インストールが終わったら、virsh consoleなどで繋いで、ゲストの/etc/sysconfig/network-scripts/ifcfg-eth0を以下のように書き換え(HWADDRは編集前の値をそのまま残す)。

DEVICE=eth0
BOOTPROTO=none
HWADDR=00:00:00:00:00:00
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=192.168.0.3
GATEWAY=192.168.0.1
DNS1=192.168.0.1
TYPE=Ethernet

以下のコマンドでゲストのネットワークを再起動。

# /etc/init.d/network restart

CentOSにvncでGUIログインする設定

参考1: HowTos/VNC-Server - CentOS Wiki

参考2: CentOSでxinetdでVNCサーバーでGUIログイン - bufferings


「GNOME デスクトップ環境」パッケージグループがインストール済みであることが前提(ログイン後GNOME環境を使いたいので)。確認は以下のコマンドで。

# env LANG=C yum grouplist hidden

Installed Groups:のセクションにGNOME Desktop Environmentがあればインストール済み。なければ以下のコマンドでインストール。

# yum groupinstall "GNOME Desktop Environment"

gdmが入っていなければインストール。

# yum install gdm

vnc-serverパッケージをインストール。

# yum install vnc-server

パッケージではHowTos/VNC-Server - CentOS Wikiの「2. Configuring un-encrypted VNC」に説明されているようなVNCの利用者毎にポートを分けるような設定になっている。この方式ではVNCのパスワードを入れるとGUIでログイン済みの状態になる。しかし、ユーザ毎にサーバ側を設定する必要があり面倒。

ここでは「5. Remote login with vnc-ltsp-config」に書かれている方式を使うことにした。ただし、vnc-ltsp-configパッケージは使わずに、CentOSでxinetdでVNCサーバーでGUIログイン - bufferingsを参考に手動で設定を行う。


xinetdからvncサーバを実行するのでvncserverは止めて自動起動も止める。

# /etc/init.d/vncserver stop
# chkconfig vncserver off

xinetdパッケージをインストール。

# yum install xinetd

/etc/servicesに以下の行を追加。

vnc-5900        5900/tcp                        # vnc

以下の内容で/etc/xinetd.d/vncを作成。

service vnc-5900
{
        disable = no
        socket_type     = stream
        wait            = no
        user            = nobody
        group           = tty
        server          = /usr/bin/Xvnc
        server_args     = -inetd -query localhost -once -geometry 1024x768 -depth 16 -securitytypes=none
        log_on_failure  += USERID
}

xinetd再起動。

# /etc/init.d/xinetd restart

OS起動時のランレベルを5(GUI)に変更。


/etc/inittabを編集して、id:の後の数字を5に変更。

# Default runlevel. The runlevels used by RHS are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:

ランレベル3の状態で起動していたら、以下のコマンドで5に変更。

# init 5

/etc/gdm/custom.confを編集。編集箇所のみ抜粋。

[daemon]
RemoteGreeter=/usr/libexec/gdmgreeter

[security]
DisallowTCP=false

[xdmcp]
Enable=true

gdm再起動

# gdm-restart

2010-10-01

CentOSのvmにVMware Toolsのインストール

コンロールでログインした状態で[ツールのインストール]ボタンを押す。

# yum install perl
# mkdir /media/cdrom
# mount /dev/cdrom /media/cdrom
# cd /tmp
# tar zxf /media/cdrom/VMwareTools-8.4.4-301548.tar.gz
# cd vmware-tools-distrib
# ./vmware-install.pl

いろいろ聞かれるので全てリターンでデフォルト値を選択します。その後以下のコマンドを実行します。

# /etc/init.d/network stop
# rmmod pcnet32
# rmmod vmxnet
# modprobe vmxnet
# /etc/init.d/network start

表示されるメッセージによるとVMware Toolsをアンインストールしたいときは/usr/bin/vmware-uninstall-tools.plを実行すればよいそうです。

2010-09-25

CentOS: PostgreSQLインストール

PostgreSQLは以前はPostgreSQL: Linux packagesの通りレポジトリを追加してインストールしていましたが、8.4ならupdatesレポジトリにあったのでそちらから入れてみました。

# yum install postgresql84-server
# /sbin/service postgresql initdb
# /etc/init.d/postgresql start
# /sbin/chkconfig postgresql on
# /sbin/chkconfig postgresql --list
postgresql      0:off   1:off   2:on    3:on    4:on    5:on    6:off

PostgreSQLのユーザとデータベース作成

# sudo su - postgres
-bash-3.2$ createuser -DRSEP user
Enter password for new role:
Enter it again:
-bash-3.2$ createdb -E utf8 -O user userdb

# vi /var/lib/pgsql/data/pg_hba.conf

127.0.0.1のidentの前の行にmd5メソッドを追加

host    all         all         127.0.0.1/32          md5
host    all         all         127.0.0.1/32          ident

# /etc/init.d/postgresql restart

接続テスト

$ psql -h localhost -U user -W userdb
Password for user user:
psql (8.4.4)
Type "help" for help.

userdb=>

CentOS: screen設定メモ

# yum install screen

$ mkdir ~/log
$ vi ~/.screenrc

escape ^Zz
autodetach on
logfile "/home/hnakamur/log/screen-%H-%Y%m%d-%n.log"
deflog on

$ vi ~/.bash_profile

以下の1行を追加

screen

参考:screenで覚えたことメモ - 半無限長キープ

CentOS: keychainでssh-agentを管理

# yum install keychain

ログイン時に実行するコマンドを設定

$ vi ~/.bash_profile

以下の2行を追加

/usr/bin/keychain ~/.ssh/id_rsa
source ~/.keychain/$HOSTNAME-sh

一旦ログアウトしてログインしてみる(PuTTYの例)。

login as: hnakamur
Authenticating with public key "imported-openssh-key" from agent
Last login: Sat Sep 25 15:49:51 2010 from 192.168.11.2

 * keychain 2.7.0 ~ http://www.funtoo.org
 * Found existing ssh-agent: 3594
 * Adding 1 ssh key(s): /home/hnakamur/.ssh/id_rsa
Enter passphrase for /home/hnakamur/.ssh/id_rsa: パスワードを入力
 * ssh-add: Identities added: /home/hnakamur/.ssh/id_rsa

[hnakamur@sunshine12 ~]$ ssh vm01
Last login: Sat Sep 25 15:47:14 2010 from 192.168.122.1
[hnakamur@vm01 ~]$ パスワード入力せずにログインできた

参考:keychain: Set Up Secure Passwordless SSH Access For Backup Scripts

2010-09-18

CentOS5.5でkvm

qemuを入れずにkvm-qemu-imgを入れる。
# yum install kvm-qemu-img kvm libvirt virt-manager
# modprobe kvm-amd
# /etc/init.d/libvirtd start
# virt-install --connect qemu:///system -n vm01 -r 512 --vcpus=1 \
 --disk path=/var/lib/libvirt/images/vm01.img,size=10 \
 --os-type linux --accelerate \
 --os-variant=virtio26 \
 --network network:default \
 --location='http://ftp.riken.jp/Linux/centos/5.5/os/i386' \
 --extra-args='console=tty0 console=ttyS0,115200n8'

http://www.centos.org/modules/newbb/viewtopic.php?topic_id=25077&forum=41
http://www.listware.net/201007/centos-virt/101980-centos-virt-virt-install-error-on-centos-54-64bit-and-kvm.html

virt-install \
 --connect qemu:///system \
 --name vm02 \
 --ram 512 \
 --vcpus=1 \
 --file /var/lib/libvirt/images/vm02.img \
 --file-size=10 \
 --nographics \
 --os-type=linux \
 --os-variant=virtio26 \
 --network network:default \
 --accelerate \
 --location='http://ftp.riken.jp/Linux/centos/5.5/os/x86_64' \
 --extra-args='ks=http://192.168.122.1/vm02-ks.cfg console=tty0 console=ttyS0,115200n8'

ブログ アーカイブ