2013/03/28

UNIXで適当なパスワード文字列を生成する方法

mkpasswdコマンドが用意されていなかったので、ワンライナーでごまかしてみた。
パスワード文字列にすると 0⇔O とか 1⇔l⇔I が紛らわしいので、その辺は取り除いてある。
# cat /dev/urandom | tr -c -d '[:alnum:]' | tr -d 'O0lI1' | head -c 16 | awk '{print}'
からくりとしては、/dev/urandomからランダムなバイト列を読み出して、英数字(alnum)のみをフィルタリング、"O0lI1"を取り除いて、先頭16文字だけ表示している。

MySQLの mysql_secure_installation が中身でやっていること。

yum install mysql-serverなんかをたたいたあとで、手動でmysql_secure_installationを実行してたのを自動化するときのためのメモ。

# MySQL 5.1同梱のものの中身を見て転記しただけですが。

○rootユーザのパスワード文字列を設定する

-- SET ROOT PASSWORD --
UPDATE mysql.user SET Password=PASSWORD('[パスワード文字列]') WHERE User='root';

○anonymousユーザを削除する
-- REMOVE ANONYMOUS USERS --
DELETE FROM mysql.user WHERE User='';

○リモートからのrootログインを禁止する
-- REMOVE REMOTE ROOT --
DELETE FROM mysql.user
WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');

○TESTデータベースを削除する
-- REMOVE TEST DATABASE --
DROP DATABASE test;
DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';

○権限を再読み出しする
-- RELOAD PRIVILEGE TABLES --
FLUSH PRIVILEGES;

2013/03/25

CentOS上でお手軽にChef Server & Clientな環境を作ってみた。

■Hyper-V上で仮想マシンを作成する。(Windows 8上のHyper-V 3.0 + PowerShellで実施)


○新規仮想マシンの作成
PS C:\VHD> New-VM -Name Chef-Serv
Name      State CPUUsage(%) MemoryAssigned(M) Uptime   Status
----      ----- ----------- ----------------- ------   ------
Chef-Serv Off   0           0                 00:00:00 正常稼働中
○仮想マシンのメモリ量を設定する。
PS C:\VHD> Set-VMMemory -VMName Chef-Serv -StartupBytes 2048MB
PS C:\VHD> Get-VMMemory -VMName Chef-Serv


VMName    DynamicMemoryEnabled Minimum(M) Startup(M) Maximum(M)
------    -------------------- ---------- ---------- ----------
Chef-Serv False                512        2048       1048576

○仮想マシンに接続する、仮想ハードディスク(VHDX)を作成する。
 ※ VHDXが肥大化する問題があるので、明示的にブロックサイズを1MBに指定している。[参考: 【これ重要かも】CentOS 5.9 を試してたら VHDX と EXT3 の組み合わせ問題に遭遇?]
PS C:\VHD> New-VHD -Path C:\VHD\Chef-Serv.vhdx -Dynamic -BlockSizeBytes 1MB -SizeBytes 16GB


ComputerName            : TESTPC01
Path                    : C:\VHD\Chef-Serv.vhdx
VhdFormat               : VHDX
VhdType                 : Dynamic
FileSize                : 4194304
Size                    : 17179869184
MinimumSize             :
LogicalSectorSize       : 512
PhysicalSectorSize      : 4096
BlockSize               : 1048576
ParentPath              :
FragmentationPercentage : 0
Alignment               : 1
Attached                : False
DiskNumber              :
IsDeleted               : False
Number                  :

○仮想マシンに仮想ディスク(VHDX)を追加する
PS C:\VHD> Add-VMHardDiskDrive -VMName Chef-Serv -ControllerType IDE -ControllerLocation 0 -Path C:\VHD\Chef-Serv.vhdx
PS C:\VHD> Get-VMHardDiskDrive -VMName Chef-Serv


VMName    ControllerType ControllerNumber ControllerLocation DiskNumber Path
------    -------------- ---------------- ------------------ ---------- ----
Chef-Serv IDE            0                0                             C:\VHD\Chef-Serv.vhdx

○仮想マシンにネットワークを設定する。
PS C:\VHD> Get-VMSwitch


Name                          SwitchType NetAdapterInterfaceDescription
----                          ---------- ------------------------------
外部接続スイッチ(有線LAN経由) External   Intel(R) 82579LM Gigabit Network Connection
外部接続スイッチ(WiMAX経由)   External   Remote NDIS based Internet Sharing Device
内部接続スイッチ              Internal
外部接続スイッチ(無線LAN経由) External   Intel(R) Centrino(R) Advanced-N 6205

PS C:\VHD> Add-VMNetworkAdapter -VMName Chef-Serv -SwitchName "外部接続スイッチ(WiMAX経由)"
PS C:\VHD> Get-VMNetworkAdapter -VMName Chef-Serv


Name                    IsManagementOs VMName    SwitchName                  MacAddress   Status IPAddresses
----                    -------------- ------    ----------                  ----------   ------ -----------
ネットワーク アダプター False          Chef-Serv 外部接続スイッチ(WiMAX経由) 000000000000        {}

○CentOS 6.4のインストールメディアをマウントする。
PS C:\VHD> Set-VMDvdDrive -VMName Chef-Serv -Path C:\TEMP\CentOS-6.4-x86_64-minimal.iso
PS C:\VHD> Get-VMDvdDrive -VMName Chef-Serv


VMName    ControllerType ControllerNumber ControllerLocation DvdMediaType Path
------    -------------- ---------------- ------------------ ------------ ----
Chef-Serv IDE            1                0                  ISO          C:\TEMP\CentOS-6.4-x86_64-minimal.iso

○仮想マシンを起動し、仮想マシン接続する。
PS C:\VHD> Start-VM -VMName Chef-Serv
PS C:\VHD> vmconnect localhost Chef-Serv

■CentOSのインストール。

CentOSのインストールウィザードの詳細は割愛。 # CentOS 5.9/6.4以降は、Hyper-V統合サービスが標準添付されているので、マウスやキーボードははじめから動きます。

■OS周りの設定。

○まずはyum update。
# yum -y update

○IPアドレスを固定しておく。
# ifconfig -a | grep eth1 | awk '{print "HWADDR="$5;} > /etc/sysconfig/network-scripts/ifcfg-eth1
# vi /etc/sysconfig/network-scripts/ifcfg-eth1
HWADDR=00:15:5D:00:6A:1B
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.101.11
NETMASK=255.255.255.0

# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=CHEFSERV.local

# vi /etc/hosts
192.168.101.11 CHEFSREV CHEFSERV.local


# ifconfig -a

○何かと問題になるので、iptablesは事前にオフにしておく。
# service iptables stop
# chkconfig iptables off
# service ip6tables stop
# chkconfig ip6tables off

# shutdown -r now

☆細かいOSの設定変更はどうせChefのrecipe上で管理していくのでパス。

■Chef Serverの導入

今回は、opscode.comからrpmをダウンロードしてきてインストールしてみる。
○Cher ServerのRPMファイルのダウンロード
# curl -O -L https://opscode-omnitruck-release.s3.amazonaws.com/el/6/x86_64/chef-server-11.0.6-1.el6.x86_64.rpm
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  169M  100  169M    0     0   444k      0  0:06:30  0:06:30 --:--:--  480k


# file chef-server-11.0.6-1.el6.x86_64.rpm
chef-server-11.0.6-1.el6.x86_64.rpm: RPM v3.0 bin i386/x86_64 chef-server-11.0.6-1.el6


# ls -l chef-server-11.0.6-1.el6.x86_64.rpm
-rw-r--r--. 1 root root 177967164  3月 25 16:12 2013 chef-server-11.0.6-1.el6.x86_64.rpm

○RPMファイルのインストール
# rpm -ivh chef-server-11.0.6-1.el6.x86_64.rpm
警告: chef-server-11.0.6-1.el6.x86_64.rpm: ヘッダ V4 DSA/SHA1 Signature, key ID 83ef826a: NOKEY
準備中...                ########################################### [100%]
   1:chef-server            ########################################### [100%]
Thank you for installing Chef Server!


The next step in the install process is to run:


sudo chef-server-ctl reconfigure

○Chefの初期設定
# chef-server-ctl reconfigure
# chef-server-ctl test

○WebUIへの初回ログオン
https://chef-server/ へアクセスする。
デフォルトのユーザ名、パスワードは下記コマンドで分かる。
# grep web_ui_admin /opt/chef-server/embedded/cookbooks/chef-server/attributes/default.rb
default['chef_server']['chef-server-webui']['web_ui_admin_user_name'] = "admin"
default['chef_server']['chef-server-webui']['web_ui_admin_default_password'] = "p@ssw0rd1"

これでChef Serverの導入は終わり。

■Chef Workstationの設定

○Chefコマンド群をインストールする。
# curl -O -L https://opscode-omnitruck-release.s3.amazonaws.com/el/6/x86_64/chef-11.4.0-1.el6.x86_64.rpm


# rpm -ivh chef-11.4.0-1.el6.x86_64.rpm
警告: chef-11.4.0-1.el6.x86_64.rpm: ヘッダ V4 DSA/SHA1 Signature, key ID 83ef826a: NOKEY
準備中...                ########################################### [100%]
   1:chef                   ########################################### [100%]
Thank you for installing Chef!

○Chef関連の操作を行うためのレポジトリディレクトリをopscodeのgithubから複製しておく。
# yum install git
# git clone https://github.com/opscode/chef-repo.git chef-repo
Initialized empty Git repository in /root/chef-repo/.git/
remote: Counting objects: 202, done.
remote: Compressing objects: 100% (120/120), done.
remote: Total 202 (delta 73), reused 162 (delta 49)
Receiving objects: 100% (202/202), 34.27 KiB, done.
Resolving deltas: 100% (73/73), done.
# cd chef-repo
# ls -al
drwxr-xr-x. 9 root root  4096  3月 25 16:47 2013 .
dr-xr-x---. 6 root root  4096  3月 25 16:46 2013 ..
drwxr-xr-x. 8 root root  4096  3月 25 16:47 2013 .git
-rw-r--r--. 1 root root    18  3月 25 16:47 2013 .gitignore
-rw-r--r--. 1 root root 10850  3月 25 16:47 2013 LICENSE
-rw-r--r--. 1 root root  3521  3月 25 16:47 2013 README.md
-rw-r--r--. 1 root root  2171  3月 25 16:47 2013 Rakefile
drwxr-xr-x. 2 root root  4096  3月 25 16:47 2013 certificates
-rw-r--r--. 1 root root   156  3月 25 16:47 2013 chefignore
drwxr-xr-x. 2 root root  4096  3月 25 16:47 2013 config
drwxr-xr-x. 2 root root  4096  3月 25 16:47 2013 cookbooks
drwxr-xr-x. 2 root root  4096  3月 25 16:47 2013 data_bags
drwxr-xr-x. 2 root root  4096  3月 25 16:47 2013 environments
drwxr-xr-x. 2 root root  4096  3月 25 16:47 2013 roles

○Chefリポジトリのディレクトリに、Chef Serverと通信するための認証ファイルを置いておく。
# mkdir .chef
# cd .chef
# scp -p chefserv:/etc/chef-server/admin.pem ./
# scp -p chefserv:/etc/chef-server/chef-validator.pem ./
# ls -al
drwxr-xr-x.  2 root root 4096  3月 25 16:51 2013 .
drwxr-xr-x. 10 root root 4096  3月 25 16:48 2013 ..
-rw-------.  1 root root 1679  3月 25 16:19 2013 admin.pem
-rw-------.  1 root root 1679  3月 25 16:19 2013 chef-validator.pem

○knifeの初期設定
 chef server URLはデフォルトだと全然違うポート&プロトコルを指しているので、明示的にhttps://chef-serverのipアドレス:443 を指定してあげる必要がある。

# knife configure
WARNING: No knife configuration file found
Where should I put the config file? [/root/.chef/knife.rb] /root/chef-repo/.chef/knife.rb
Please enter the chef server URL: [http://CHEFSERV:4000] https://chefserv:443
Please enter an existing username or clientname for the API: [root] admin
Please enter the validation clientname: [chef-validator]
Please enter the location of the validation key: [/etc/chef/validation.pem]
Please enter the path to a chef repository (or leave blank): /root/chef-repo
*****


You must place your client key in:
  /root/chef-repo/.chef/admin.pem
Before running commands with Knife!


*****


You must place your validation key in:
  /etc/chef/validation.pem
Before generating instance data with Knife!


*****
Configuration file written to /root/chef-repo/.chef/knife.rb

■Chef Clientの登録

さっそく、上記で設定したWorkstation上でknife bootstrapコマンドを実行して、Chef Clientを設定する。
○zabbixsvという名前のクライアントとなるサーバを追加する。
# cd ~/chef-repo
# knife bootstrap zabbixsv.local
Bootstrapping Chef on zabbixsv.local
Failed to authenticate root - trying password auth
Enter your password:
zabbixsv.local Downloading Chef 11.4.0 for el...
zabbixsv.local Installing Chef 11.4.0
zabbixsv.local 警告: /tmp/tmp.NxRNG2Nq/chef-11.4.0.x86_64.rpm: ヘッダ V4 DSA/SHA1 Signature, key ID 83ef826a: NOKEY
zabbixsv.local 準備中...
zabbixsv.local ########################################    (100%)
zabbixsv.local ########################################### [100%]
zabbixsv.local    1:chef
zabbixsv.local ########################################### [100%]
zabbixsv.local Thank you for installing Chef!
zabbixsv.local Starting Chef Client, version 11.4.0
zabbixsv.local Creating a new client identity for ZABBIXSV using the validator key.
zabbixsv.local resolving cookbooks for run list: []
zabbixsv.local Synchronizing Cookbooks:
zabbixsv.local Compiling Cookbooks...
zabbixsv.local [2013-03-25T17:25:54+09:00] WARN: Node ZABBIXSV has an empty run list.
zabbixsv.local Converging 0 resources
zabbixsv.local Chef Client finished, 0 resources updated

○Chef Server上で認識されていることを確認する。
# knife node list
ZABBIXSV

○一応Chef Server自身もクライアントとして認識させておく。
# knife bootstrap chefserv.local
Bootstrapping Chef on chefserv.local
Failed to authenticate root - trying password auth
Enter your password:
chefserv.local Starting Chef Client, version 11.4.0
chefserv.local Creating a new client identity for CHEFSERV using the validator key.
chefserv.local resolving cookbooks for run list: []
chefserv.local Synchronizing Cookbooks:
chefserv.local Compiling Cookbooks...
chefserv.local [2013-03-25T17:29:57+09:00] WARN: Node CHEFSERV has an empty run list.
chefserv.local Converging 0 resources
chefserv.local Chef Client finished, 0 resources updated

○ノードが増えた!
# knife node list
CHEFSERV
ZABBIXSV

■knifeコマンドで遊んでみる。

knife node listで表示されるようになると、sshコマンドなどで遊べるようになる。
# knife ssh -x root -P $(head -1) "hostname:*" date
P@ssw0rd!
MYSQLSRV 2013年  3月 25日 月曜日 17:50:17 JST
ZABBIXSV 2013年  3月 25日 月曜日 17:50:17 JST
CHEFSERV 2013年  3月 25日 月曜日 17:50:17 JST

☆ -P $(head -1)は、標準入力から1行読み出してssh時のパスワードとするための小技。  普通に "-P P@ssw0rd!" のように入力してしまうと、historyに保存されてしまったり、ps -efで他のユーザにパスワード文字列を読み取られてしまったりするのを回避するためにこうしている。

■簡単なレシピを作成し、適用してみる。


簡単にyum install zshするだけのレシピを作成し適用してみる。

○いじる元になるcookbookの作成
# cd ~/chef-repo/cookbooks
# knife cookbook create install-zsh
# cd install-zsh

○レシピファイルの中に、今回はzshをインストールするように記載を追加する。
# vi recipes/default.rb
package "zsh" do
 action :install
end

○Chef Serverにcookbookを登録する
# knife cookbook upload install-zsh

○実際にRun List (適用すべきレシピ=cookbook一覧)に新規作成したinstall-zshを登録する。
# knife node run_list add CHEFSERV install-zsh

○chef-clientを実行し、Run Listに記載されているレシピを実際適用させる。
# knife ssh -x root -P $(head -n1) "hostname:CHEFSERV" chef-client
CHEFSERV Recipe: install-zsh::default
CHEFSERV   * package[zsh] action install
CHEFSERV  (up to date)
CHEFSERV Chef Client finished, 1 resources updated

○本当に導入されているか、おしゃれにknife ssh経由で確認して見る。
# knife ssh -x root -P $(head -n1) "hostname:CHEFSERV" "rpm -qa | grep zsh"
CHEFSERV zsh-4.3.10-5.el6.x86_64
#

以上! 何となく動いたからOK!!

2013/02/04

Pythonを使ってIMAPメールボックスのクォータ状態を表示する方法

Thunderbirdだと標準でIMAP QUOTAの情報を表示する機能がメールクライアント上に実装されているのだが、Sylpheedだとそういう機能がないのでスクリプトを書いてみた。
CentOS上のPythonと、Windows上のIronPythonで動いていることを確認した。

■IMAPのクォータを取得するPythonスクリプト

#!/usr/bin/python

import getpass, imaplib, re

print("Input your password for USERNAME@mail.example.com")
username = "USERNAME"
password = getpass.getpass()

mbox = imaplib.IMAP4("mail.example.com")
mbox.login(username, password)
quota = mbox.getquotaroot("INBOX")

print(quota)

match = re.match('.* (\d+) (\d+).*', quota[1][1][0])
used, total = match.groups()
used, total = int(used), int(total)
print("Quota Used: " + str(100.0*used/total) + "%")

mbox.logout()

print("\n")
raw_input("Please input any key...")

imaplib::getquotarootの戻り文字列は多分にIMAPサーバの仕様による気がするが、、、まぁ上記の正規表現でうまいこと動いている気がする。
# まぁThunderbirdでどう実装されているか見れば自明なんだが。。。

2013/01/26

EPELでインストールされるZabbixのバージョンについて (2013/01/26時点)


EPEL経由でもZabbix入れられるけど、Zabbix 2.0を入れたければ明示的にバージョンが入ったものを指定しようね。
というだけのメモ(._.)φ

■zabbix20-server-pgsql

================================================================================
 Package                   Arch       Version                 Repository   Size
================================================================================
Installing:
 zabbix20-server-pgsql     x86_64     2.0.4-1.el6             epel        1.4 M
Installing for dependencies:
 OpenIPMI-libs             x86_64     2.0.16-12.el6           base        475 k
 fping                     x86_64     2.4b2-10.el6            epel         31 k
 gnutls                    x86_64     2.8.5-4.el6_2.2         base        342 k
 iksemel                   x86_64     1.4-2.el6               epel         48 k
 libtasn1                  x86_64     2.3-3.el6_2.1           base        238 k
 libtool-ltdl              x86_64     2.2.6-15.5.el6          base         44 k
 lm_sensors-libs           x86_64     3.1.1-10.el6            base         37 k
 net-snmp-libs             x86_64     1:5.5-41.el6_3.1        updates     1.5 M
 perl                      x86_64     4:5.10.1-127.el6        base         10 M
 perl-Module-Pluggable     x86_64     1:3.90-127.el6          base         38 k
 perl-Pod-Escapes          x86_64     1:1.04-127.el6          base         30 k
 perl-Pod-Simple           x86_64     1:3.13-127.el6          base        210 k
 perl-libs                 x86_64     4:5.10.1-127.el6        base        576 k
 perl-version              x86_64     3:0.77-127.el6          base         49 k
 postgresql-libs           x86_64     8.4.13-1.el6_3          updates     200 k
 traceroute                x86_64     3:2.0.14-2.el6          base         51 k
 unixODBC                  x86_64     2.2.14-12.el6_3         updates     378 k
 zabbix20                  x86_64     2.0.4-1.el6             epel        176 k
 zabbix20-server           x86_64     2.0.4-1.el6             epel         25 k

Transaction Summary
================================================================================
Install      20 Package(s)


■zabbix-server-pgsql

================================================================================
 Package                   Arch       Version                 Repository   Size
================================================================================
Installing:
 zabbix-server-pgsql       x86_64     1.8.15-2.el6            epel        378 k
Installing for dependencies:
 OpenIPMI-libs             x86_64     2.0.16-12.el6           base        475 k
 fping                     x86_64     2.4b2-10.el6            epel         31 k
 gnutls                    x86_64     2.8.5-4.el6_2.2         base        342 k
 iksemel                   x86_64     1.4-2.el6               epel         48 k
 libtasn1                  x86_64     2.3-3.el6_2.1           base        238 k
 libtool-ltdl              x86_64     2.2.6-15.5.el6          base         44 k
 lm_sensors-libs           x86_64     3.1.1-10.el6            base         37 k
 net-snmp                  x86_64     1:5.5-41.el6_3.1        updates     302 k
 net-snmp-libs             x86_64     1:5.5-41.el6_3.1        updates     1.5 M
 perl                      x86_64     4:5.10.1-127.el6        base         10 M
 perl-Module-Pluggable     x86_64     1:3.90-127.el6          base         38 k
 perl-Pod-Escapes          x86_64     1:1.04-127.el6          base         30 k
 perl-Pod-Simple           x86_64     1:3.13-127.el6          base        210 k
 perl-libs                 x86_64     4:5.10.1-127.el6        base        576 k
 perl-version              x86_64     3:0.77-127.el6          base         49 k
 postgresql-libs           x86_64     8.4.13-1.el6_3          updates     200 k
 traceroute                x86_64     3:2.0.14-2.el6          base         51 k
 unixODBC                  x86_64     2.2.14-12.el6_3         updates     378 k
 zabbix                    x86_64     1.8.15-2.el6            epel         96 k
 zabbix-server             x86_64     1.8.15-2.el6            epel         54 k

Transaction Summary
================================================================================
Install      21 Package(s)



2013/01/15

Intel NUCにWindows Server 2012 (64bit)をインストールした。

Intel NUC DC3217IYE を購入したので、Windows Server 2012 + Hyper-Vを導入してみました。

前面から。
USBポートと比べてみると非常に小さいことが分かります。

背面には、HDMI×2個と、USB×2個、1GbE端子が並んでいます。

■PCを組み立てる

標準状態だと、下記のパーツを別途調達する必要があります。

  • DDR3-1333/1600 SO-DIMM対応メモリ
    安かったので、8GB×2枚 (総計16GB)を購入。
  • 1.8inch mSATA対応のSSD
    Crucial m4 mSATA SSD (256GB)を搭載。
  • ミッキータイプのACケーブル
    ACアダプタは添付されているのですが、ミッキー型⇔2Pの電源ケーブルは別売り。
    (この辺は世界中で1SKUとして販売する以上仕方ないですね…国毎にケーブル違いますし)
  • HDMIケーブル
    対応ディスプレイがなければHDMI⇔DVI変換タイプが必要ですね。
  • 外付けUSB DVDドライブ
    OSをインストールするには、外付けDVDドライブが必要となります。

※上記パーツですが、円安の関係で今後は値上がりするみたいですね。。。

あとは、一枚ペラの説明に従って底面を開けてパーツを挿入するだけ。

この後、漆塗りのようなケースをデコります。

まず、貼り付け場所を決めて。

電源スイッチ周りにシールを貼りますw

全部を貼り付け終わるとこんな感じにww

■BIOS設定を確認する

最近はUEFI対応BIOSなんですね。。。
マウス対応のGUIになってたり、ダッシュボードと称して内蔵ファンの回転数や内部温度をグラフィカルに表示できるようになっててびっくりしました。

とりあえず Intel HT & VT & VT-d は標準で有効になっていましたので、特に対応は不要。
(内蔵NICもSR-IOV対応とはまた良いものを搭載してるw)

Intel Visual BIOSの開始画面。

■Windows Server 2012をインストールする

この辺は、普通にDVDから起動してインストール画面をぽちぽちするだけなので割愛。

Windows Server 2012のインストール風景。
外は何年かぶりの大雪でしたw


■Windows Server 2012にIntel PROSetドライバを適用する。

Intel NUCに搭載されているNICは、Intel® 82579V Gigabit Ethernet PHYと言われるもの。
サーバ向けと言うよりは、どっちかというとPCや組み込みデバイス向けっぽいですね。

というわけでIntel PROSetドライバを適用すれば良いのですが…

なんとWindows Server 2012 (NTamd64.6.2)向けにはまだ正式な動作検証が終わっていないのか、PROSetドライバのウィザードを立ち上げても「対応するIntelネットワークアダプタが見つかりません」的なエラーを吐いてドライバをインストールすることが出来ません。
# Windows 8向けドライバは正式版があります。

待っていても仕方が無いので、下記情報を基にinfファイルを編集して無理矢理ドライバを認識させてしまいます。

Enable the Intel 82579V NIC in Windows Server 2012

PROsetドライバは インテル® デスクトップ・キット DC3217IYE のページからダウンロードしました。

  1. デバイスマネージャから搭載しているNICのデバイスIDを確認
    うちのIntel NUCは
    PCI\VEN_8086\DEV_1503
    でした。
  2. PROSetドライバをWinRARなどで解凍すると、PRO1000\Winx64\NDIS63\e1c63x64.infがあるので編集
    1. [ControlFlags]のExcludeFromSelectから該当するデバイスIDを削除
    2. [Intel.NTamd64.6.2]に、%E1503NC.DeviceDesc%で始まる行をコピー
  3. OSの起動オプションの変更 [infファイルを手動編集して認識させるために必要:やらないとドライバの一貫性チェックに引っかかって止まってしまう]
    C:\> bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS
    C:\> bcdedit -set TESTSIGNING ON
  4. OS再起動後、PROSetドライバのapps\prosetdx\winx64\DxSysChk.exeを実行する
    今度は、ちゃんとドライバーのセットアッププロセスが実行され、「本当にこのドライバを入れて良いの?署名無いけど?」的なダイアログが出てくるので「OK」を押下して進む。
  5. ドライバが適用されていることを確認後、OS起動オプションを元に戻しておく。
    C:\> bcdedit -set loadoptions ENABLE_INTEGRIRY_CHECKS
    C:\> bcdedit -set TESTSIGNING OFF

■Windows Updateを実行する

NICさえ認識できれば、普通にWindows Updateから更新プログラムを導入しておきます。

■Hyper-Vを導入する


サーバーマネージャーの管理→「役割と機能の追加」ウィザードからHyper-Vの役割を追加し、再起動すれば使えるようになります。

Hyper-Vの管理コンソール上で、仮想スイッチの管理を実行すると、実際にこのNICがSR-IOV対応であることが確認出来ると思います。


静かで小さいのにメモリが16GBも搭載できて、VT-d対応UEFI対応BIOS+SR-IOV対応のNICまで載っかっているマシン・・・、
なかなか夢が広がりますね♪

2013/01/04

(._.)φ zshrcを晒す等。

とりあえず初期設定の~/.zshrcを少しいじった程度のものを晒しておくテスト。

# Lines configured by zsh-newuser-install
HISTFILE=~/.histfile
HISTSIZE=3000
SAVEHIST=3000
RPROMPT='(%~)'
PROMPT=$'%B%n@%m%b:%# '

bindkey -e

setopt auto_list
setopt extended_history
setopt append_history
setopt correct
setopt magic_equal_subst
setopt mark_dirs
setopt print_eight_bit

case "${TERM}" in
kterm)
  export TERM=kterm-color
  ;;
xterm)
  export TERM=xterm-color
  ;;
cons25)
  unset LANG
esac

alias ls="ls -G"
alias la="ls -aG"
alias ll="ls -lG"

# End of lines configured by zsh-newuser-install
# The following lines were added by compinstall
zstyle :compinstall filename '/home/imksoo/.zshrc'

autoload -Uz compinit
compinit
# End of lines added by compinstall