Samba 3.2 のクラスタ機能検証手順
提供:Samba-JP
ナビゲーションに移動検索に移動
Samba 3.2 系列の新機能の一つにクラスタ機能があります。
以下、Debian 開発版(コードネーム lenny)を用いた、クラスタ機能の検証手順を解説します。
なお、lenny を用いた理由は、検証に必要なパッケージがすべてデフォルトで用意されているためです。
iscsi ターゲットの作成
クラスタ機能を利用するには、共有ディスクが必要です。
Samba のクラスタ機能は、共有ディスクの実装に依存しませんが、比較的手軽にできる共有ディスクとして、ここでは iSCSI のターゲットを動作させることにします。
以下、 base-system のインストールのみを行った lenny を前提として手順を紹介します。
- telnetd のインストール
- リモートマシンから設定を行うため、「telnetd」をインストールしました。なお ssh にしなかったのは、インストールするパッケージを最低限にしたかったためです。
iscsi1:~# apt-get install telnetd Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: openbsd-inetd The following NEW packages will be installed: openbsd-inetd telnetd 0 upgraded, 2 newly installed, 0 to remove and 101 not upgraded. Need to get 0B/75.5kB of archives. After this operation, 238kB of additional disk space will be used. Do you want to continue [Y/n]? Selecting previously deselected package openbsd-inetd. (Reading database ... 11668 files and directories currently installed.) Unpacking openbsd-inetd (from .../openbsd-inetd_0.20080125-1_i386.deb) ... Selecting previously deselected package telnetd. Unpacking telnetd (from .../telnetd_0.17-36_i386.deb) ... Processing triggers for man-db ... Setting up openbsd-inetd (0.20080125-1) ... Stopping internet superserver: inetd. Not starting internet superserver: no services enabled. Setting up telnetd (0.17-36) ... Adding user telnetd to group utmp
- 作業用ユーザの作成
- telnetでログインするために、「local」というユーザーを作成しました。
iscsi1:~# useradd -u 501 -m local iscsi1:~# passwd local Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
- ホスト名の設定
- ここではホスト名を「iscsi1」に設定しました。
echo iscsi1 > /etc/hostname
- IP アドレスの設定
- 検証だけなら DHCP でも動作しますが、ここでは一応 192.168.135.20 というアドレスを付与しました。
# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 #iface eth0 inet dhcp iface eth0 inet static address 192.168.135.20 netmask 255.255.255.0 network 192.168.135.0 broadcast 192.168.135.255 gateway 192.168.135.2
- パッケージのインストール
- iscsitarget-modules-xxx および iscsitarget パッケージをインストールします。
iscsi1:~# apt-get install iscsitarget (エラーで終了しますが、インストールはできています) iscsi1:~# apt-get install iscsitarget-modules-2.6.26-1-686 Reading package lists... Done Building dependency tree Reading state information... Done iscsitarget is already the newest version. The following extra packages will be installed: linux-image-2.6.26-1-686 Suggested packages: linux-doc-2.6.26 The following NEW packages will be installed: iscsitarget-modules-2.6.26-1-686 linux-image-2.6.26-1-686 0 upgraded, 2 newly installed, 0 to remove and 101 not upgraded. Need to get 20.1MB of archives. After this operation, 57.4MB of additional disk space will be used. Do you want to continue [Y/n]? Get:1 http://ftp.jp.debian.org lenny/main linux-image-2.6.26-1-686 2.6.26-5 [20. 1MB] Get:2 http://ftp.jp.debian.org lenny/main iscsitarget-modules-2.6.26-1-686 2.6.2 6+0.4.16+svn162-4 [37.5kB] Fetched 20.1MB in 16s (1250kB/s) Preconfiguring packages ... Selecting previously deselected package linux-image-2.6.26-1-686. (Reading database ... 11705 files and directories currently installed.) Unpacking linux-image-2.6.26-1-686 (from .../linux-image-2.6.26-1-686_2.6.26-5_i 386.deb) ... Done. Selecting previously deselected package iscsitarget-modules-2.6.26-1-686. Unpacking iscsitarget-modules-2.6.26-1-686 (from .../iscsitarget-modules-2.6.26- 1-686_2.6.26+0.4.16+svn162-4_i386.deb) ... Setting up linux-image-2.6.26-1-686 (2.6.26-5) ... Running depmod. Running mkinitramfs-kpkg. Running postinst hook script update-grub. Searching for GRUB installation directory ... found: /boot/grub Searching for default file ... found: /boot/grub/default Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst Searching for splash image ... none found, skipping ... Found kernel: /boot/vmlinuz-2.6.26-1-686 Found kernel: /boot/vmlinuz-2.6.24-1-686 Updating /boot/grub/menu.lst ... done Setting up iscsitarget-modules-2.6.26-1-686 (2.6.26+0.4.16+svn162-4) ... iscsi1:~#
- iSCSI で公開するパーティションを構成します
- なんでも構わないのですが、ここではループバックデバイスとして構成する方法を紹介します。なお、再起動するたびにループバックデバイスの構成を行う必要があります。
- ※うまく自動化する方法あるんでしょうか?
iscsi1:~# dd if=/dev/zero of=/var/lib/iscsi1.img bs=1M count=512 512+0 records in 512+0 records out 536870912 bytes (537 MB) copied, 3.21413 s, 167 MB/s iscsi1:~# losetup /dev/loop0 /var/lib/iscsi1.img iscsi1:~# losetup -a /dev/loop0: [0301]:98270 (/var/lib/iscsi1.img) /dev/loop/0: [0301]:98270 (/var/lib/iscsi1.img)
- これで、/dev/loop0 に 512MB の仮想パーティションが存在することになりました。実際に存在するパーティションを用いる場合、この作業は省略できます。
- /etc/ietd.conf を編集します