2007/10/21

Интеграция Samba-сервера с Windows AD Domain Controller

Данное оипсание применялось на дистрибутиве CentOS 5 в связке с Windows 2003 Server Enterprise.
Для начала установим необходимые для работы пакеты
# yum install samba samba-client ntp acl
(клиентская часть необходима, если необходимо монтировать шары виндоуза на линухе)
Подправим файл /etc/hosts, чтобы он имел примерно такой вид:
# vi /etc/hosts
127.0.0.1 localhost.localdomain localhost
10.10.2.91 vm01.organization.local vm01

Добавим опцию acl при монтировании рабочего дискового раздела
# vi /etc/fstab
/dev/VolGroup00/LogVol00 / ext3 defaults,acl 1 1
# mount -o remount /
# mkdir /share
# setfacl -m u:"ORGANIZATION+romans":rwx /share

Теперь настроим Керберос для добавления linux-сервера в windows-домен
# yum install krb5-workstation
# 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 = ORGANIZATION.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
forwardable = yes

[realms]
ORGANIZATION.LOCAL = {
kdc = windows.organization.local:88
admin_server = windows.organization.local:749
default_domain = organization.local
}

[domain_realm]
.organization.local = ORGANIZATION.LOCAL
organization.local = ORGANIZATION.LOCAL

[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf

[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}

# kinit administrator@ORGANIZATION.LOCAL
Password for administrator@ORGANIZATION.LOCAL:

Минимальная настройка samba
[root@vm01 ~]#vi /etc/samba/smb.conf
[global]
workgroup = ORGANIZATION
netbios name = VM01
server string = VM01 Samba Server
security = ads
encrypt passwords = yes
realm = ORGANIZATION.LOCAL
password server = windows.organization.local
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
winbind separator = +
load printers = no
printcap name = /etc/printcap
printing =
log file = /var/log/samba/%m.log
max log size = 50

[share]
comment = a comment
path = /share
browseable = yes
read only = no
inherit acls = yes
inherit permissions = yes
create mask = 700
directory mask = 700
valid users = "ORGANIZATION+romans"

Входим в домен
# net ads join -U administrator
administrator's password:
Using short domain name -- ORGANIZATION
Joined 'VM01' to realm 'ORGANIZATION.LOCAL'

Стартуем сервисы
# /etc/init.d/smb start
Starting SMB services: [ OK ]
Starting NMB services: [ OK ]

Настраиваем nsswitch, для того чтобы он мог использовать данные AD с помощью winbind-сервиса
# vi /etc/nsswitch.conf
passwd: files winbind
shadow: files
group: files winbind
# /etc/init.d/winbind start
Starting Winbind services: [ OK ]

Для проверки
#wbinfo -u
ORGANIZATION+administrator
ORGANIZATION+guest
ORGANIZATION+support_388945a0
ORGANIZATION+vartotojas
ORGANIZATION+cba_anonymous
ORGANIZATION+krbtgt
ORGANIZATION+for_test_1
ORGANIZATION+for_test_2
ORGANIZATION+for_admin
ORGANIZATION+romans


Ссылки:
  1. How To Integrate Samba (File Sharing) Using Active Directory For Authentication
  2. Samba as an Active Directory Domain Member
  3. Как подружить Samba 3 и контроллер домена Windows 2003 SP1
  4. RHEL5 Deployment Guide - Samba
  5. RHEL5 Deployment Guide - Kerberos

2007/10/10

GFS - Global File System

Данный лог действий описывает процесс установки и начальной конфигурации кластерной файловой системы GFS в CentOS5.

Перед началом установки необходимо убедиться, что отключен firewall и не действует SE Linux.

# chkconfig iptables off
# selinux disable

Установка включает в себя инсталяцию группы 'Cluster storage' и сервиса ntp для синхронизации времени на всех нодах кластера.

# yum groupinstall 'Cluster Storage'
# yum install ntp
# yum install kmod-gfs-xen (если используется Xen)
# chkconfig ntpd on
# service ntpd start
# Starting ntpd: [ OK ]
# reboot

Проверить перед запуском, что на всех нодах файлы /etc/hosts и /etc/cluster/cluster.conf одного содержания

# vi /etc/hosts
127.0.0.1 localhost.localdomain localhost
10.10.2.91 vm01.organization.local vm01
10.10.2.92 vm02.organization.local vm02
# vi /etc/cluster/cluster.conf
<?xml version="1.0"?>
<cluster name="gfsc" config_version="1">
<cman two_node="1" expected_votes="1">
</cman>
<clusternodes>
<clusternode name="vm01" nodeid="1">
<fence>
<method name="human">
<device name="last_resort" ipaddr="vm01">
</device>
</method>
</fence>
<clusternode name="vm02" nodeid="2">
<fence>
<method name="human">
<device name="last_resort" ipaddr="vm02">
</device>
</method>
</fence>
</clusternode>
<fencedevices>
<fencedevice name="last_resort" agent="fence_manual">
</fencedevice>
</fencedevices>
</clusternode></clusternodes>
</cluster>

Для того, чтобы впоследствии копировать измененный файл конфигурации /etc/cluster/cluster.conf на все ноды можно воспользоваться утилитой ccs_tool:

# scp /etc/cluster/cluster.conf root@vm02:/etc/cluster/
# ccs_tool update /etc/cluster/cluster.conf

После того как все готово, можно запускать службу cman (поочередно на всех нодах)

# /etc/init.d/cman start
# cman_tool status

Подготовка диска (я использую lvm)

# vi /etc/lvm/lvm.conf
locking_type = 3
# pvcreate /dev/sdc
# vgcreate gfsc /dev/sdc
# lvcreate -l 100%FREE gfsc
# gfs_mkfs -p lock_dlm -t gfsc:gfs1 -j 2 /dev/gfsc/lvol0

Теперь можно примонтировать том с кластерной файловой системой и работать с ним как с обычным диском

# mount -t gfs /dev/gfsc/lvol0 /mnt

Ссылки:
  1. Cluster Project FAQ
  2. How to install and run clvm and gfs
  3. Enterprise data sharing with Red Hat Global File System