「Samba 3.2 のクラスタ機能検証手順」の版間の差分
提供:Samba-JP
ナビゲーションに移動検索に移動
細編集の要約なし |
細編集の要約なし |
||
6行目: | 6行目: | ||
なお、lenny を用いた理由は、検証に必要なパッケージがすべてデフォルトで用意されているためです。 |
なお、lenny を用いた理由は、検証に必要なパッケージがすべてデフォルトで用意されているためです。 |
||
検証環境は、メモリ 128MB の VMware 仮想マシンです。 |
|||
== iscsi ターゲットの作成 == |
== iscsi ターゲットの作成 == |
||
14行目: | 16行目: | ||
以下、 base-system のインストールのみを行った lenny を前提として手順を紹介します。 |
以下、 base-system のインストールのみを行った lenny を前提として手順を紹介します。 |
||
/etc/apt/sources.list は |
|||
<pre> |
|||
iscsi1:~# cat /etc/apt/sources.list |
|||
deb http://ftp.jp.debian.org/debian lenny main |
|||
deb http://security.debian.org/ lenny/updates main |
|||
</pre> |
|||
のように設定しています。 |
|||
* telnetd のインストール |
* telnetd のインストール |
||
74行目: | 86行目: | ||
gateway 192.168.135.2 |
gateway 192.168.135.2 |
||
</pre> |
</pre> |
||
* 再起動 |
|||
: IP アドレスの設定などを反映させるため、一度再起動します。 |
|||
: 実際には、再起動しなくても設定の反映はできますが、気持ち悪いので…… |
|||
* パッケージのインストール |
* パッケージのインストール |
||
162行目: | 178行目: | ||
Starting iSCSI enterprise target service: succeeded. |
Starting iSCSI enterprise target service: succeeded. |
||
</pre> |
</pre> |
||
== Samba サーバ1の構築 == |
|||
引き続き、Samba サーバを構築します。 |
|||
同じく、base-system のインストールのみを行った lenny から構築する方法を紹介します。 |
|||
* telnetd のインストール |
|||
* 作業用ユーザの作成 |
|||
* ホスト名の設定 |
|||
: ここではホスト名を「samba32a」に設定しました。 |
|||
<pre>echo samba32a > /etc/hostname</pre> |
|||
* IP アドレスの設定 |
|||
: 検証だけなら DHCP でも動作しますが、ここでは一応 192.168.135.21 というアドレスを付与しました。 |
|||
* 再起動 |
|||
: IP アドレスの設定などを反映させるため、一度再起動します。 |
|||
: 実際には、再起動しなくても設定の反映はできますが、気持ち悪いので…… |
|||
* iSCSI / gfs / Samba 関連パッケージのインストール |
|||
: 以下、順次パッケージのインストールを行っていきます。 |
|||
: クラスタファイルシステムとしては、gfs を用いました。gfs は依存パッケージが多いので、できれば ocfs2 でやりたかったんですが、ocfs2 自体の構築はできたものの、ctdb が「」というエラーでファイルのロックに失敗してしまうため、あきらめました。 |
|||
<pre> |
|||
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 |
|||
</pre> |
|||
* Samba パッケージのインストール時の質問 |
|||
** ワークグループ名: SAMBA32GFS |
|||
** WINS の設定を DHCP から取得:しない |
|||
2008年10月5日 (日) 16:36時点における版
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 から取得:しない