samba 4.xでドメイン/フォレストの機能レベルを変更する

2016/07/19追記

Samba 4.4.5における現状についてを「Samba 4.4.xでActive Directoryを1から立てる」にて公開中です。

2018/02/01追記
Samba 4.7.4に置ける機能レベルについて下記の記事に追加しました。


Samba 4.xでActive Directoryを1から立てる」で作成したActive Directoryは、ドメインの機能レベル/フォレストの機能レベルが共に「Windows Server 2003」となっていた。

Sambaのコマンドで確認すると、以下の様になっていた。

[root@adtest ~]# /usr/local/samba/bin/samba-tool domain level show
Domain and forest function level for domain 'DC=adosakana,DC=local'

Forest function level: (Windows) 2003
Domain function level: (Windows) 2003
Lowest function level of a DC: (Windows) 2008 R2
[root@adtest ~]#

で・・・2014年5月現在、機能レベルの変更をWindowsから行うことはできないらしい。

samba公式Wikiの「Raising the functional levels」に「Hint: This way does not work at the moment! 」として注意書きがついている。

samba-toolコマンドで変更する、とのこと。
samba 4.1.7の段階で指定できる機能レベルは’2003′, ‘2008’, ‘2008_R2’の3種類。
2018/02/01時点で最新のsamba 4.7.4でも、2012と2012_R2はサポートされていません。(Kerberos関連の動作改善などが取り入れられていない)

まずは、ドメインレベルの上昇から・・・

[root@adtest ~]# /usr/local/samba/bin/samba-tool domain level raise --domain-level=2008_R2
Domain function level changed!
All changes applied successfully!
[root@adtest ~]# /usr/local/samba/bin/samba-tool domain level show
Domain and forest function level for domain 'DC=adosakana,DC=local'

Forest function level: (Windows) 2003
Domain function level: (Windows) 2008 R2
Lowest function level of a DC: (Windows) 2008 R2
[root@adtest ~]#

続いて、フォレストレベル・・・

[root@adtest ~]# /usr/local/samba/bin/samba-tool domain level raise --forest-level=2008_R2
Forest function level changed!
All changes applied successfully!
[root@adtest ~]# /usr/local/samba/bin/samba-tool domain level show
Domain and forest function level for domain 'DC=adosakana,DC=local'

Forest function level: (Windows) 2008 R2
Domain function level: (Windows) 2008 R2
Lowest function level of a DC: (Windows) 2008 R2
[root@adtest ~]#

ちなみに、先にフォレストレベルを上げようとすると、以下の様なエラーとなります。

[root@adtest ~]# /usr/local/samba/bin/samba-tool domain level raise --forest-level="2008_R2"
ERROR: Forest function level can't be higher than the domain function level(s). Please raise it/them first!
[root@adtest ~]#

LTE対応MediaTek MT6595のスペックと細かい型番バリエーション

MediaTek初のLTE対応SoC、MT6595の詳細について、徐々に出てきている。

MTK手机网「MTK MT6595可支持eMMC 5.0与USB3.0标准」より

MT6595 – Applications Sub-System
・AP MCU subsystem
 - Quad-core ARM Cortex-A7 1.7GHz, 512KB L2 cache
 - Quad-core ARM Cortex-A15 2.1GHz, 2MB L2 cache
 - NEON multimedia processing engine with SIMDv2/VFPv4 ISA support
 - 32KB L1 I-cache and 32KB L1 D-cache
 - DVFS technology with adaptive operating voltage from 0.9V to 1.15V
・External DRAM interface
 - Supports LPDDR2/3 up to 4GB
 - Dual channel, each with 32-bit data bus width
 - Memory clock up to 933MHz
・Security
 - ARM TrustZone Security
・Applications Interfaces
 - eMMC 5.0 interface
 - Dedicated x2 SDIO interfaces
 - SuperSpeed USB / USB2.0 + OTG
 - USB2.0 high-speed Host (IC-USB)x1
 - MIPI DSI 4+4 lanes
 - MIPI CSI 4+4+2 lanes
 - UART x 4
 - DPI interface
 - Dedicated x1 SPI interface
 - Dedicated x4 + Mux.x1 I2C interfaces
 - Dedicated x2 + Mux.x1 I2S interfaces
 - Dedicated connectivity interface (SDIOx1, PCMx1, UARTx2)
 - SIM x2 interfaces
 - AuxADC x3
 - (Pin Mux.) PWM x7 channels
 - (Pin Mux.) IrDA FIR/MIR/SIR

そして、動作クロックおよび対応周波数帯によるバリエーションモデルリスト

Part Number MT6595 Turbo
(2.4~2.5GHz)
MT6595
(2.1~2.2GHz)
MT6595M
(2GHz)
CMCC 4G(5m) MT6595W/K MT6595W/L MT6595W/M
CU 4G(4M)
(w/o TDS)
MT6595W/N MT6595W/O MT6595W/P
CMCC 4G(3M)
(TD-LTE/TDS/2G)
MT6595W/B MT6595W/C MT6595W/D
3G world phone
(FDD/TDD/2G)
MT6595W/G MT6595W/H MT6595W/I
CMCC 3G
(TDS/2G)
MT6595W/S MT6595W/T MT6595W/U

上記表の見方
CMCC 4G(5M)=中国の携帯電話会社China mobileの4G対応(5種類全て)=FDD-LTE,TDD-LTE,WCDMA,TD-SCDMA,GSM対応
CU 4G(4M)(w/o TDS)=中国の携帯電話会社China Unicomの4G(4種類)対応 (TD-SCDMA以外)=FDD-LTE,TDD-LTE,WCDMA,GSM対応
CMCC 4G(3M)=中国の携帯電話会社China mobileの4G対応(3種類)=TDD-LTE,TD-SCDMA,GSM対応
3G world phone=一般的な3G対応=FDD-LTE,TDD-LTE,WCDMA,GSM対応
CMCC 3G=中国の携帯電話会社China mobile 3Gのみ=TD-SCDMA,GSM対応

つまり、日本で使える可能性があるのはFDD-LTEとWCDMA対応のものになるので、
CMCC 4G(5M)対応の「MT6595W/K」「MT6595W/L」「MT6595W/M」
CU 4G(4M)対応の「MT6595W/N」「MT6595W/O」「MT6595W/P」
3G world phoneの「MT6595W/G」「MT6595W/H」「MT6595W/I」
ということになります。

RHEL6のkickstartインストールだけどホスト名/IPアドレスを手動入力する

RHEL6/CentOS6のkickstartインストールの際、DHCPによるホスト名/IPアドレス配布だけではなく、固定IPアドレスおよびホスト名でのインストールも行いたい。
かといって、起動オプションに細工するとか、個別のkickstartファイルを書く、とかはしたくない。

RHEL4ぐらいのkickstartだと、network行を書かなければ聞いてきたんだけど、いまはそんな仕様ではない模様。

探したらRedHatのkickstart MLで発見「Re: clearpart -all warning

「%pre」内で、コンソールを6番に切り替えてからreadコマンドにより値を入力、とのこと。
(「MORE Kickstart Tips and Tricks」だと3番とあったんだけど、3番でやったら出力が混じったので6番を採用した)
(あと、read -p “~” ~ /dev/tty3 2>&1って記述はうまく動かなかった)

そんなわけで作成したkickstartファイルはこちら!

# Kickstart file automatically generated by anaconda.

#version=DEVEL
install
nfs --server=192.168.44.151 --dir=/images/cent6
lang en_US.UTF-8
keyboard jp106

%include /tmp/network-ks.cfg

rootpw  --plaintext password
firewall --service=ssh
authconfig --enableshadow --passalgo=sha512
selinux --enforcing
timezone --utc Asia/Tokyo

zerombr
bootloader --location=partition --driveorder=sda --append="crashkernel=auto"
clearpart --all --drives=sda --initlabel

part /boot/efi --fstype=efi --grow --maxsize=200 --size=50
part /boot --fstype=ext4 --size=500
part pv.vol1 --grow --size=1

volgroup vg_vol1 --pesize=4096 pv.vol1
logvol / --fstype=ext4 --name=lv_root --vgname=vg_vol1 --grow --size=1024 --maxsize=51200
logvol swap --name=lv_swap --vgname=vg_vol1 --grow --size=1638 --maxsize=1638

repo --name="CentOS"  --baseurl=nfs:192.168.44.151:/images/cent6 --cost=100

%packages
@core
@server-policy
@workstation-policy
nfs-utils
%end

%pre --log=/root/anaconda-pre.log
#!/bin/bash

exec < /dev/tty6 > /dev/tty6 2>&1
chvt 6

echo "=== Please input this server information ==="
read -p "Enter hostname: " NEWHOSTNAME
read -p "Enter IP address: " NEWIPADDR
read -p "Enter netmask: " NEWNETMASK
read -p "Enter default gw: " NEWGATEWAY
read -p "Enter DNS server IP: " NEWDNS

echo "network --bootproto=static --ip=${NEWIPADDR} --netmask=${NEWNETMASK} --gateway=${NEWGATEWAY} --nameserver=${NEWDNS} --device=eth0 --onboot=yes --hostname=${NEWHOSTNAME}" > /tmp/network-ks.cfg


chvt 1
%end

%post --log=root/anaconda-post.log --erroronfail
echo "192.168.44.151   master" >> /etc/hosts
mkdir /mnt2
mount -t nfs 192.168.44.151:/images/work /mnt2
rpm -ivh /mnt2/chef-11.12.2-1.el6.x86_64.rpm
mkdir -p /etc/chef
cp /mnt2/validation.pem /etc/chef/validation.pem
chmod 0600 /etc/chef/validation.pem
cp /mnt2/client.rb /etc/chef/client.rb
/usr/bin/chef-client

if [ -f /boot/efi/EFI/redhat/grub.conf ]; then
        sed -i "s/rhgb quiet//" /boot/efi/EFI/redhat/grub.conf
fi
if [ -f /boot/grub/grub.conf ]; then
        sed -i "s/rhgb quiet//" /boot/grub/grub.conf
fi

%end

#reboot

RHEL6のkickstartでPV/VGの名前に_が使えない?

最近、RHEL6/CentOS6の構築自動化手法をいろいろ検討中。

インストール時のkickstartファイルの編集中に初めて認識した仕様。

Logical Volumeの名前は自由に指定できる。
Volume Groupの名も自由に指定できる。
Pythical Volumeの名前はある程度制限される。

fedora project:Anaconda/Kickstart:part or partition
kickstart内でパーテーション作成をする際、命名法則により使用用途が決定される、という仕様になっている。
LVMで使用するためにPVを作成する場合は「pv.~」という命名規則で作る必要がある。
(pv.以降は好きに名前をつけられる)

というわけで、自動生成された「pv.0083」とかいう感じのPVを「pv_vol1」とかに名前変更しようとして失敗したのは、この仕様のせいで、「pv.vol1」とかにすれば問題ない、ということでした。