Samba4の自動起動スクリプト
Samba4をソースからインストールした場合、自動起動スクリプトを環境に合わせて準備する必要がある。#! /bin/bash # # samba4 Bring up/down samba4 service # # chkconfig: - 90 10 # description: Activates/Deactivates all samba4 interfaces configured to \ # start at boot time. # ### BEGIN INIT INFO # Provides: # Should-Start: # Short-Description: Bring up/down samba4 # Description: Bring up/down samba4 ### END INIT INFO # Source function library. . /etc/init.d/functions if [ -f /etc/sysconfig/samba4 ]; then . /etc/sysconfig/samba4 fi CWD=$(pwd) prog="samba4" start() { # Attach irda device echo -n $"Starting $prog: " /opt/app/samba4/sbin/samba sleep 2 if ps ax | grep -v "grep" | grep -q /sbin/samba ; then success $"samba4 startup"; else failure $"samba4 startup"; fi echo } stop() { # Stop service. echo -n $"Shutting down $prog: " killall samba sleep 2 if ps ax | grep -v "grep" | grep -q /sbin/samba ; then failure $"samba4 shutdown"; else success $"samba4 shutdown"; fi echo } status() { /opt/app/samba4/sbin/samba --show-build } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status irattach ;; restart|reload) stop start ;; *) echo $"Usage: $0 {start|stop|restart|status}" exit 1 esac exit 0
SAMBA4を2台目ドメインコントローラ(DC)サーバとして稼働させる
WindowsでActiveDirectoryを構築したが、予算の関係で2台目のDCサーバをCentOS6.5のSAMBA4で構築した際の導入手順です。 SAMBA4だけでもActiveDirecoryを構築できますし、Windowsサーバと混在環境でも構築可能です。 ・ActiveDirectoryはWindowsServer2012サーバで下記内容で構築済み
フォレストの機能レベル:Windows Server 2008 R2
ドメインの機能レベル:Windows Server 2008 R2
・既存ActiveDirectoryに2台目(BDC)のDCサーバとしてSAMBA4を導入する
フォレストの機能レベル | Windows Server 2008 R2 |
---|---|
ドメインの機能レベル | Windows Server 2008 R2 |
ドメイン名 | ad.hogehoge.jp |
NetBiosドメイン名 | ad |
1台目DCサーバIP | 172.20.1.203 |
1台目DCサーバ名 | dc01.ad.hogehoge.jp |
2台目DCサーバIP | 172.29.1.204 |
2台目DCサーバ名 | dc02.ad.hogehoge.jp |
SAMBA4のDC構築手順(2台目以降)
PDCがWindowsでもSAMBAでも、2台目以降のSAMBA4の構築手順は同じである。SAMBA4で2台目以降のDCサーバ構築前の事前作業
■不要パッケージを削除# yum remove samba-client samba-winbind samba-winbind-clients samba-common
# vi /etc/resolv.conf
#DC01(172.20.1.203) nameserver 172.20.1.203 domain=ad.hogehoge.jp※DNSサーバIPとドメイン名は環境に合わせて変更する
SAMB4インストール
■SAMB4の依存関係パッケージインストール# yum install gcc libacl-devel libblkid-devel gnutls-devel \ python-devel pkgconfig krb5-workstation zlib-devel libaio-devel \ policycoreutils-python libsemanage-python setools-libs-python \ setools-libs popt-devel libpcap-devel sqlite-devel libidn-devel \ libxml2-devel libsepol-devel keyutils-libs-devel \ cyrus-sasl-devel bind-utils
# cd /usr/local/src # wget http://ftp.samba.org/pub/samba/samba-latest.tar.gz
# tar zxvf samba-latest.tar.gz # cd samba-4.1.6/
# ./configure --prefix=/opt/app/samba4/ --enable-selftest
※赤字のインストール先は環境に合わせること。# make : Waf: Leaving directory `/usr/local/src/samba-4.1.6/bin' 'build' finished successfully (14m45.145s)
# make install : Waf: Leaving directory `/usr/local/src/samba-4.1.6/bin' 'install' finished successfully (3m12.883s)
# vi /etc/init.d/samba4Samba起動スクリプト作成内容はこちらを参照。
# vi /etc/yum.conf
[main] exclude=kernel* samba* bind-utils
SAMBA4のDC昇格
■kerberos関連設定# cp /etc/krb5.conf /etc/krb5.conf.org
# vi /etc/krb5.conf
[logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] default_realm = AD.HOGEHOGE.JP dns_lookup_realm = false dns_lookup_kdc = false ticket_lifetime = 24h renew_lifetime = 7d forwardable = true [realms] AD.HOGEHOGE.JP = { kdc = dc01.ad.hogehoge.jp } [domain_realm] .ad.hogehoge.jp = AD.HOGEHOGE.JP ad.hogehoge.jp = AD.HOGEHOGE.JP※大文字小文字の区別があるので注意を!!
# kinit administrator@AD.HOGEHOGE.JP・エラーメモ
kinit(v5): Cannot resolve network address for KDC in requested realm while getting initial credentials | ドメインが存在しない |
---|---|
kinit(v5): Client not found in Kerberos database while getting initial credentials | ユーザーが存在しない |
kinit(v5): KDC reply did not match expectations while getting initial credentials | ドメインが小文字を指定している |
kinit(v5): Preauthentication failed while getting initial credentials | パスワードが違う |
kinit(v5): Clock skew too great while getting initial credentials | Linuxと ActiveDirectoryの DCの時刻が 5分以上ずれている |
# /etc/rc.d/init.d/samba4 start
# /opt/app/samba4/bin/samba-tool domain join ad.hogehoge.jp DC -U administrator --realm=AD.HOGEHOGE.JP Committing SAM database descriptor_sd_propagation_recursive: DC=DomainDnsZones,DC=ad,DC=hogehoge,DC=jp not found under DC=ad,DC=hogehoge,DC=jp descriptor_sd_propagation_recursive: DC=ForestDnsZones,DC=ad,DC=hogehoge,DC=jp not found under DC=ad,DC=hogehoge,DC=jp Sending DsReplicateUpdateRefs for all the replicated partitions Setting isSynchronized and dsServiceName Setting up secrets database Joined domain AD(SID S-1-5-xx-3469xxxxxx-26xxxxxxx-249xxxxxxxxx) as a DC※赤文字は環境に合わせて変更すること
# /opt/app/samba4/bin/smbclient -L localhost -U%
Domain=[AD] OS=[Unix] Server=[Samba 4.1.6] Sharename Type Comment --------- ---- ------- netlogon Disk sysvol Disk IPC$ IPC IPC Service (Samba 4.1.6) Domain=[AD] OS=[Unix] Server=[Samba 4.1.6] Server Comment --------- ------- Workgroup Master --------- -------
# /opt/app/samba4/bin/samba-tool drs showrepl■Samba4の自動起動設定
# chmod 755 /etc/init.d/samba4 # chkconfig --add samba4 # chkconfig --level 345 samba4 on
DC構築後の環境整備
■Samabサーバのリゾルバ設定# vi /etc/resolv.confnameserver 127.0.0.1 nameserver 172.20.1.203
・SAMBA4のDNS利用方法1
1つめは内部DNSの使用でSamba4にDNSサーバを取り込んだものでデフォルトではこの内部DNSが使用されます。この場合、特別な設定を実施せずともコンピュータやDCの名前解決ができます。また、DNSのゾーン情報はSamba4のデータベースに登録されるため別のDCにレプリケーションされます。これにより複数のサーバでDNSのゾーン情報を更新可能となります。
・SAMBA4のDNS利用方法2
2つ目の方法はBINDと連携する方法でこの場合、BINDを通常のDNSサーバとして設定しSamba4用のゾーン情報を追記すれば連携が可能となります。
# vi /opt/app/samba4/etc/smb.conf
[global] workgroup = AD realm = ad.hogehoge.jp netbios name = DC02 server role = active directory domain controller dns forwarder = 8.8.8.8
・設定反映# /etc/init.d/samba4 restart※8.8.8.8はGOOGLEのDNSサーバです。
# /opt/app/samba4/sbin/samba -b | grep NTP_SIGND_SOCKET_DIR NTP_SIGND_SOCKET_DIR: /opt/app/samba4/var/lib/ntp_signd
# chgrp ntp /opt/app/samba4/var/lib/ntp_signd
# vi /etc/ntp.conf
#NTP Server #アクセス許可 restrict 127.0.0.1 restrict 172.20.1.0 mask 255.255.255.0 restrict 172.20.2.0 mask 255.255.255.0 # 同期サーバとのアクセス許可 restrict 172.20.1.203 noquery restrict 133.100.11.8 noquery #同期するNTPServer指定 # DC01(172.20.1.203) server 172.20.1.203 # clock.tl.fukuoka-u.ac.jp server 133.100.11.8 ntpsigndsocket /opt/app/samba4/var/lib/ntp_signd restrict default mssntp includefile /etc/ntp/crypto/pw keys /etc/ntp/keys
# /etc/init.d/ntpd start # chkconfig ntpd on
# grep MS-SNTP /var/log/messages May 15 18:38:17 dc02 ntpd[25887]: MS-SNTP signd operations currently block ntpd degrading service to all clients. May 15 18:43:46 dc02 ntpd[25917]: MS-SNTP signd operations currently block ntpd degrading service to all clients.
Esxi5.1/ESXi5.0上でハイパーバイザーを稼動させる
「KVM on ESXi」、「ESXi on ESXi」、「Hyper-V on ESXi」などESXi上のゲストOSとして ハイパーバイザーを稼動させるための設定手順を示します。 ・事前確認
・仮想ホスト(ESXi5.1/ESXi5.0)の設定変更
・仮想マシンの設定変更
ESXi上でハイパーバイザーを稼動させるための事前確認
■ESXi5.1の事前確認https://[your-esxi-host-ip-address]/mob/?moid=ha-host&doPath=capability※有効になっている場合は、「ESXiの設定変更」は行う必要はありません。
仮想ホスト側(ESXi5.1/ESXi5.0)の設定変更
■/etc/vmware/config追記# vi /etc/vmware/config
vhv.allow="TRUE"
# vi /etc/vmware/config
vhv.enable = “TRUE”
「構成」メニュー -> 「ハードウェア」 「ネットワーク」 -> 「仮想スイッチ」->「プロパティ」
「仮想スイッチ」プロパティ 編集
セキュリティ->ポリシー例外->無差別モード:承諾
仮想マシン側の設定変更
■仮想マシンのプロパティ変更 対象の仮想マシンアイコン右クリック -> 「設定の編集」
「仮想マシンのプロパティ」画面 -> 「オプション」タブ -> 「全般」->「構成パラメータ」
「構成パラメータ」画面 -> 行の追加 -> 下記パラメータ記入 -> 「OK」
hypervisor.cpuid.v0 = “FALSE”
「仮想マシンのプロパティ」画面 -> 「オプション」タブ -> 「CPUIDマスク」->「詳細」
「CPU認識マスク」画面 -> レベル「ecx」 -> 下記パラメータ記入 -> 「OK」
Level1 ECX: ---- ---- ---- ---- ---- ---- --H- ----
「仮想マシンのプロパティ」画面 -> 「オプション」タブ -> 「CPU/MMU仮想化」-> 下記選択 ->「OK」
Intel VT-x/AMD-Vを命令セット仮想化に使用し、IntelEPT/AMD RVIをMMU仮想化に使用
「仮想マシンのプロパティ」画面 -> 「オプション」タブ -> 「一般オプション」->「ゲストOS」 -> 「その他」-> 「VMware ESXi 5.x」 ->「OK」
対象の仮想マシンアイコン右クリック -> 「仮想ハードウェアのアップグレード」
grep --color=auto -E '(vmx|svm)' /proc/cpuinfo flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq vmx ssse3 cx16 sse4_1 sse4_2 popcnt aes xsave avx lahf_lm ida arat xsaveopt pln pts dts tpr_shadow ept vpid flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq vmx ssse3 cx16 sse4_1 sse4_2 popcnt aes xsave avx lahf_lm ida arat xsaveopt pln pts dts tpr_shadow ept vpid※何も表示しない場合は、上記手順を再度見直してください。
# lsmod |grep kvm
kvm_intel 54285 0 kvm 333172 1 kvm_intel※インテルのCPU(Intel VT)の場合は、kvm_intelが読み込まれます。