「Samba 3.2 のクラスタ機能検証手順」の版間の差分
提供:Samba-JP
ナビゲーションに移動検索に移動
細編集の要約なし |
細編集の要約なし |
||
272行目: | 272行目: | ||
samba32a:~#apt-get install samba ctdb |
samba32a:~#apt-get install samba ctdb |
||
</pre> |
</pre> |
||
: Samba パッケージのインストール時の質問には、以下のように答えます。 |
|||
⚫ | |||
⚫ | |||
* |
* iSCSI イニシエータの設定:ディスクの認識 |
||
: 以下のようにして、ディスクの認識を行います。 |
|||
⚫ | |||
<pre> |
|||
⚫ | |||
samba32a:~# iscsiadm -m node --targetname iqn.2008-09.com.monyo:iscsi1 -p 192.16 |
|||
8.135.20 --op new |
|||
New iSCSI node [tcp:[hw=default,ip=,net_if=default,iscsi_if=default] 192.168.135 |
|||
.20,3260,-1 iqn.2008-09.com.monyo:iscsi1] added |
|||
samba32a:~# iscsiadm -m node --targetname iqn.2008-09.com.monyo:iscsi1 -p 192.16 |
|||
8.135.20 -l |
|||
Logging in to [iface: default, target: iqn.2008-09.com.monyo:iscsi1, portal: 192 |
|||
.168.135.20,3260] |
|||
Login to [iface: default, target: iqn.2008-09.com.monyo:iscsi1, portal: 192.168. |
|||
135.20,3260]: successful |
|||
samba32a:~# fdisk -l |
|||
Disk /dev/hda: 8589 MB, 8589934592 bytes |
|||
255 heads, 63 sectors/track, 1044 cylinders |
|||
Units = cylinders of 16065 * 512 = 8225280 bytes |
|||
Disk identifier: 0x0001c09b |
|||
Device Boot Start End Blocks Id System |
|||
/dev/hda1 * 1 993 7976241 83 Linux |
|||
/dev/hda2 994 1044 409657+ 5 Extended |
|||
/dev/hda5 994 1044 409626 82 Linux swap / Solaris |
|||
Disk /dev/sda: 536 MB, 536870912 bytes |
|||
17 heads, 61 sectors/track, 1011 cylinders |
|||
Units = cylinders of 1037 * 512 = 530944 bytes |
|||
Disk identifier: 0x00000000 |
|||
Disk /dev/sda doesn't contain a valid partition table |
|||
</pre> |
|||
* iSCSI イニシエータの設定:ディスクの自動認識 |
|||
: 以下のようにして、再起動時に iSCSI ターゲットおよびディスクの認識が自動で行われるようにします。 |
|||
<pre> |
|||
samba32a:~# vi /etc/iscsi/nodes/iqn.2008-09.com.monyo\:iscsi1/192.168.135.20\,3260 |
|||
</pre> |
|||
: 以下の項目を manual から automatic に変更します。 |
|||
-- node.startup |
|||
-- node.conn[0].startup |
|||
2008年10月5日 (日) 16:44時点における版
Samba 3.2 系列の新機能の一つにクラスタ機能があります。
以下、Debian 開発版(コードネーム lenny)を用いた、クラスタ機能の検証手順を解説します。
なお、lenny を用いた理由は、検証に必要なパッケージがすべてデフォルトで用意されているためです。
検証環境は、メモリ 128MB の VMware 仮想マシンです。
iscsi ターゲットの作成
クラスタ機能を利用するには、共有ディスクが必要です。
Samba のクラスタ機能は、共有ディスクの実装に依存しませんが、比較的手軽にできる共有ディスクとして、ここでは iSCSI のターゲットを動作させることにします。
以下、 base-system のインストールのみを行った lenny を前提として手順を紹介します。
/etc/apt/sources.list は
iscsi1:~# cat /etc/apt/sources.list deb http://ftp.jp.debian.org/debian lenny main deb http://security.debian.org/ lenny/updates main
のように設定しています。
- 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
- 再起動
- IP アドレスの設定などを反映させるため、一度再起動します。
- 実際には、再起動しなくても設定の反映はできますが、気持ち悪いので……
- パッケージのインストール
- 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:~#
- 再起動の実行
- ここで、ホスト名の変更の反映、カーネルモジュールの組み込みなどを行うために、一度再起動を実行します。
- 実際は、コマンドを駆使すれば再起動は不要ですが、気持ち悪いので、やっといたほうが無難でしょう。
- ループバックデバイスの作成
- 以下のようにして、イメージファイルを作成の上、ループバックデバイスを作成します。なお、再起動するたびにループバックデバイスの構成を行う必要があります。
- ※うまく自動化する方法あるんでしょうか?
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 を編集します
- ここでは、必要最低限の設定として、認証なしで、今作成したループバックデバイスを公開する設定を行います。各パラメータの詳細については、ietd.conf(5) などを参照してください。
Target iqn.2008-09.com.monyo:iscsi1 Lun 0 Path=/dev/loop0,Type=fileio MaxConnections 1
- iscsitarget の再起動
- iscsitarget サービスの再起動を行い、設定を反映します。
iscsi1:~# /etc/init.d/iscsitarget stop Removing iSCSI enterprise target devices: succeeded. Stopping iSCSI enterprise target service: succeeded. Removing iSCSI enterprise target modules: succeeded. iscsi1:~# /etc/init.d/iscsitarget start Starting iSCSI enterprise target service: succeeded.
Samba サーバ1の構築
引き続き、Samba サーバを構築します。
同じく、base-system のインストールのみを行った lenny から構築する方法を紹介します。
- telnetd のインストール
- 作業用ユーザの作成
- ホスト名の設定
- ここではホスト名を「samba32a」に設定しました。
echo samba32a > /etc/hostname
- IP アドレスの設定
- 検証だけなら DHCP でも動作しますが、ここでは一応 192.168.135.21 というアドレスを付与しました。
- 再起動
- IP アドレスの設定などを反映させるため、一度再起動します。
- 実際には、再起動しなくても設定の反映はできますが、気持ち悪いので……
- iSCSI / gfs / Samba 関連パッケージのインストール
- 以下、順次パッケージのインストールを行っていきます。
- クラスタファイルシステムとしては、gfs を用いました。gfs は依存パッケージが多いので、できれば ocfs2 でやりたかったんですが、ocfs2 自体の構築はできたものの、ctdb が「」というエラーでファイルのロックに失敗してしまうため、あきらめました。
samba32a:~# apt-get install open-iscsi Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: open-iscsi 0 upgraded, 1 newly installed, 0 to remove and 101 not upgraded. Need to get 540kB of archives. After this operation, 1315kB of additional disk space will be used. Get:1 http://ftp.jp.debian.org lenny/main open-iscsi 2.0.869.2-2.1 [540kB] Fetched 540kB in 1s (279kB/s) Selecting previously deselected package open-iscsi. (Reading database ... 11687 files and directories currently installed.) Unpacking open-iscsi (from .../open-iscsi_2.0.869.2-2.1_i386.deb) ... Processing triggers for man-db ... Setting up open-iscsi (2.0.869.2-2.1) ... Starting iSCSI initiator service: iscsid. Setting up iSCSI targets: iscsiadm: No records found! . Mounting network filesystems:. samba32a:~# apt-get install gfs-tools cman clvm Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: binutils bochsbios debootstrap dpkg file gfs2-tools libasound2 libbrlapi0.5 libcman2 libdb4.5 libdevmapper1.02.1 libdirectfb-1.0-0 libdlm2 libgnutls26 libicu38 libmagic1 libnet-snmp-perl libnet-telnet-perl libnspr4-0d libnss3-1d libopenais2 libpcap0.8 libsdl1.2debian libsdl1.2debian-alsa libsqlite3-0 libsvga1 libsysfs2 libts-0.0-0 libvdemgmt0 libvdeplug2 libvirt0 libx86-1 libxenstore3.0 libxml2 linux-image-2.6.26-1-486 lvm2 lzma mime-support openais openbios-sparc openhackware perl perl-base perl-doc perl-modules proll psmisc python python-minimal python2.5 python2.5-minimal qemu redhat-cluster-modules-2.6.26-1-486 sgml-base sharutils svgalibg1 vde2 vgabios xml-core Suggested packages: binutils-doc libasound2-plugins gnutls-bin libcrypt-des-perl libdigest-hmac-perl libdigest-sha1-perl libio-socket-inet6-perl linux-doc-2.6.26 dmsetup libterm-readline-gnu-perl libterm-readline-perl-perl groff python-doc python-tk python-profiler python2.5-doc binfmt-support sudo samba sgml-base-doc mailx vde2-cryptcab kvm debhelper Recommended packages: redhat-cluster-modules The following NEW packages will be installed: binutils bochsbios clvm cman debootstrap file gfs-tools gfs2-tools libasound2 libbrlapi0.5 libcman2 libdb4.5 libdirectfb-1.0-0 libdlm2 libicu38 libmagic1 libnet-snmp-perl libnet-telnet-perl libnspr4-0d libnss3-1d libopenais2 libpcap0.8 libsdl1.2debian libsdl1.2debian-alsa libsqlite3-0 libsvga1 libsysfs2 libts-0.0-0 libvdemgmt0 libvdeplug2 libvirt0 libx86-1 libxenstore3.0 libxml2 linux-image-2.6.26-1-486 lzma mime-support openais openbios-sparc openhackware perl perl-doc perl-modules proll psmisc python python-minimal python2.5 python2.5-minimal qemu redhat-cluster-modules-2.6.26-1-486 sgml-base sharutils svgalibg1 vde2 vgabios xml-core The following packages will be upgraded: dpkg libdevmapper1.02.1 libgnutls26 lvm2 perl-base 5 upgraded, 57 newly installed, 0 to remove and 96 not upgraded. Need to get 61.1MB/72.7MB of archives. After this operation, 196MB of additional disk space will be used. Do you want to continue [Y/n]? Get:1 http://ftp.jp.debian.org lenny/main perl-modules 5.10.0-14 [3192kB] Get:2 http://ftp.jp.debian.org lenny/main perl 5.10.0-14 [4547kB] (省略) Setting up sgml-base (1.26) ... Setting up xml-core (0.11) ... samba32a:~#apt-get install samba ctdb
- Samba パッケージのインストール時の質問には、以下のように答えます。
-- ワークグループ名: SAMBA32GFS -- WINS の設定を DHCP から取得:しない
- iSCSI イニシエータの設定:ディスクの認識
- 以下のようにして、ディスクの認識を行います。
samba32a:~# iscsiadm -m node --targetname iqn.2008-09.com.monyo:iscsi1 -p 192.16 8.135.20 --op new New iSCSI node [tcp:[hw=default,ip=,net_if=default,iscsi_if=default] 192.168.135 .20,3260,-1 iqn.2008-09.com.monyo:iscsi1] added samba32a:~# iscsiadm -m node --targetname iqn.2008-09.com.monyo:iscsi1 -p 192.16 8.135.20 -l Logging in to [iface: default, target: iqn.2008-09.com.monyo:iscsi1, portal: 192 .168.135.20,3260] Login to [iface: default, target: iqn.2008-09.com.monyo:iscsi1, portal: 192.168. 135.20,3260]: successful samba32a:~# fdisk -l Disk /dev/hda: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x0001c09b Device Boot Start End Blocks Id System /dev/hda1 * 1 993 7976241 83 Linux /dev/hda2 994 1044 409657+ 5 Extended /dev/hda5 994 1044 409626 82 Linux swap / Solaris Disk /dev/sda: 536 MB, 536870912 bytes 17 heads, 61 sectors/track, 1011 cylinders Units = cylinders of 1037 * 512 = 530944 bytes Disk identifier: 0x00000000 Disk /dev/sda doesn't contain a valid partition table
- iSCSI イニシエータの設定:ディスクの自動認識
- 以下のようにして、再起動時に iSCSI ターゲットおよびディスクの認識が自動で行われるようにします。
samba32a:~# vi /etc/iscsi/nodes/iqn.2008-09.com.monyo\:iscsi1/192.168.135.20\,3260
- 以下の項目を manual から automatic に変更します。
-- node.startup -- node.conn[0].startup