CentOS6.8への VMware tools インストール
事前に Perl をインストールしておきます。
[root@hostname ~]# yum install perl
対象の仮想マシンを選択し、"VMware Tools のインストール"を実行します。
任意のディレクトリにマウントします。本例では tmp にマウントします。
[root@hostname ~]# mount /dev/cdrom /tmp/
マウントしたファイルを、任意のディレクトリにコピーします。
本例では、vmware という名前のディレクトリを作成し、tmp にマウントされたファイルをコピーします。
[root@hostname ~]# mkdir ./vmware [root@hostname ~]# cd ./vmware/ [root@hostname ~]# cp -p /tmp/VMwareTools-10.0.6-3595377.tar.gz .
コピーしたファイルを展開します。
[root@hostname ~]# tar zxvf ./VMwareTools-10.0.6-3595377.tar.gz
展開後、vmware-install.pl を実行します。*1
[root@hostname ~]# cd ./vmware-tools-distrib/ [root@hostname ~]# ./vmware-install.pl
対話形式はすべて Enter で問題ありません。
以下のエラーが出力され、インストールに失敗する場合があります。
Creating a new initrd boot image for the kernel. vmware-tools-thinprint start/running initctl: Job failed to start Unable to start services for VMware Tools Execution aborted.
その際は、"fuse-libs"をインストール後、再度"vmware-install.pl"を実行してみてください。
[root@hostname ~]# yum -y install fuse-libs [root@hostname ~]# ./vmware-install.pl
以上
*1:Perl を事前にインストールしておく必要があります。
NetApp クォータ設定について
クォータとは
ボリューム内のリソース使用量を追跡し、使用量を制限する機能です。
例えば、ボリュームを CIFS 共有している場合、ボリューム内のディスク使用量や、ファイル数をユーザー単位で制限することが可能です。
クォータの設定
以下の前提条件で、ディスク使用量を制限する設定例になります。
- NetApp(cDOT)を AD ドメイン環境(example.com)に参加させます。
- ボリューム(vol1)で CIFS を有効にし、「移動ユーザープロファイル領域」として使用します。
- ボリューム(vol2)で CIFS を有効にし、「フォルダリダイレクト領域」として使用します。
- AD ドメイン上の user01及び、user02の上記ディスク使用量を300MBに制限します。
クォータポリシー(quota1)を作成します。
volume quota policy create -vserver svm1 -policy-name quota1
作成したクォータポリシーを SVM(svm1)に割り当てます。
vserver modify -vserver svm1 -quota-policy quota1
vol1とvol2にアクセス可能な全ユーザーを対象に「300MB」のディスク使用量制限を適用します。
volume quota policy rule create -vserver svm1 -policy-name quota1 -volume vol1 -type user -target "" -disk-limit 300MB -qtree "" volume quota policy rule create -vserver svm1 -policy-name quota1 -volume vol2 -type user -target "" -disk-limit 300MB -qtree ""
ボリュームのクォータを有効化します。
volume quota on -vserver svm1 -volume vol1 -foreground volume quota on -vserver svm1 -volume vol2 -foreground
クォータレポートを表示します。
ボリュームに AD ドメイン上のユーザーでアクセスすると、各ユーザーの使用状況が表示されます。
なお、ユーザーは「Domain Users」に所属している必要があり、「Domein Admins」や「Administratros」に所属していると、クォータ制限が効かないため注意です。
volume quota report Vserver: svm1 ----Disk---- ----Files----- Quota Volume Tree Type ID Used Limit Used Limit Specifier ------- -------- ------ ------- ----- ----- ------ ------ --------- vol1 user * 0B 300MB 0 - * vol1 user BUILTIN\Administrators 194.1MB - 173 - vol1 user EXAMPLE\user01 223.8MB 300MB 10 - * vol1 user root 0B - 2 - vol1 user EXAMPLE\user02 852KB 300MB 122 - * vol2 user * 0B 300MB 0 - * vol2 user BUILTIN\Administrators 8KB - 5 - vol2 user EXAMPLE\user01 0B 300MB 4 - * vol2 user EXAMPLE\user02 8KB 300MB 5 - * 9 entries were displayed.
この状態で「移動ユーザープロファイル領域」に300MB以上のデーターを置くと、サインアウトの際、以下のエラーが出力されます。
イベントを見ると、容量不足でディスクの書き込みに失敗しています。
また、「フォルダリダイレクト領域」に300MB以上のデータを置こうとすると、ディスク容量不足で以下のエラーが出力されます。
なお、クォータ設定を無効化する際は、以下の手順で実施します。
volume quota off -vserver svm1 -volume vol1 -foreground
volume quota policy rule delete -policy-name quota1 *
vserver modify -vserver svm1 -quota-policy default
volume quota policy delete -vserver svm1 -policy-name quota1
以上
Clustered ONTAP で CIFS 共有
移動ユーザープロファイルの検証のため、久しぶりに Simulate ONTAP 8.3.2で、CIFS サーバーを構築しました。ドメイン参加に失敗する問題があったのでメモしておきます。
Aggregate 作成
storage aggregate create -aggregate aggr1 -raidtype raid_dp -diskcount 5 -nodes cluster1-01 -maxraidsize 22 storage aggregate show
SVM 作成
vserver create -vserver svm1 -rootvolume vol0 -aggregate aggr1 -rootvolume-security-style unix -language C vserver show
LIF 作成
network interface create lif0 -role cluster-mgmt -home-node cluster1-01 -home-port e0c -address 192.168.1.200 -netmask 255.255.255.0 network interface create -vserver svm1 -lif lif1 -role data -data-protocol cifs -home-port e0a -address 192.168.1.201 -netmask 255.255.255.0
Volume 作成
volume create -vserver svm1 -volume vol1 -aggregate aggr1 -size 2g -security-style ntfs -space-guarantee none -junction-path /vol1 volume show
CIFS 設定
vserver services dns create -vserver svm1 -domains example.com -name-servers 192.168.1.100 vserver services dns show cifs create -cifs-server svm1_cifs -domain example.com -vserver svm1 vserver cifs show
cifs create コマンドを使用して、ドメイン参加する際、以下のエラー発生しました。
Unable to connect to LSA service on ad.example.com (Error: RESULT_ERROR_KERBEROS_SKEW)
調べてみると、AD と NetApp 間で時刻がずれている場合に発生するようです。
時刻とタイムゾーンの設定
system date modify -timezone Japan -date 8/7/2016 15:00:00 system date show
CIFS 共有設定
vserver cifs share create -vserver svm1 -share-name profiles -path /vol1 vserver cifs share show
以上で、CIFS 共有したボリュームにアクセスが可能となります。
AD ドメイン上のユーザーで、SVM へのアクセスを許可する場合は、以下を設定します。
※移動ユーザープロファイルのプロファイルパスに SVM を指定する場合、必須のコマンドです。
security login domain-tunnel create -vserver svm1
security login domain-tunnel show
ドメイン「EXAMPLE」内のグループ「group01」に所属するユーザーで SSH 接続を許可することも可能です。
設定は以下のとおりです。
security login create -vserver cluster1 -user-or-group-name EXAMPLE\group01 -application ssh -authmethod domain security login show -vserver cluster1
※なお、ADDNS の A レコードは、ドメイン参加時に登録される「ホスト名」と異なる名前でないと、名前による CIFS 接続に失敗するといった問題が発生しました。(IP アドレスでは正常に接続可能)原因については調査中です。
以上
NFS データストアでフォルダを作成できない問題について
NetApp で作成したボリュームを、ESXi から NFS でマウントし、データストア上にフォルダを作成しようとした際、以下のエラーが出力される問題に遭遇しました。
ESXi「192.168.1.100」で オブジェクト「ha-nfc-file-manager」の「FileManager.MakeDirectory」 の呼び出しが失敗しました。
もちろん、ボリュームは正しく export しています。
色々調べた結果、NetApp 側の qtree 設定で serurity を unix にする必要がありました。*1
qtree 設定確認
qtree security コマンドで設定状況を確認します。
netapp> qtree status vol07
Volume Tree Style Oplocks Status
-------- -------- ----- -------- ---------
vol07 ntfs enabled normal
qtree 設定変更
> qtree security /vol/vol07 unix
qtree 設定確認
qtree security コマンドで設定状況を確認します。
netapp> qtree status vol07
Volume Tree Style Oplocks Status
-------- -------- ----- -------- ---------
vol07 unix enabled normal
以上で、データストア上にフォルダを作成することができるようになりました。
以上
*1:今回、使用した FAS では、デフォルトが ntfs となっていました。
Cisco と NetApp(7-Mode)で LAG 設定
以前、Nexus と Netapp 間で LAG を構成する際の注意点の記事で LAG の設定例を書きましたが、NetAppのソフトウェアバージョン8.2では、少し設定が異なったのでメモします。
それぞれ2本のインターフェースで LAG を構成し、NetApp 側は VLAN101と102のインターフェースを作成します。Cisco 側は VLAN101と VLAN102を透過する設定例になります。
Cisco の設定
interface GigabitEthernet0/1 switchport trunk encapsulation dot1q switchport trunk allowed vlan 101,102 switchport mode trunk channel-group 1 mode on ! interface GigabitEthernet0/2 switchport trunk encapsulation dot1q switchport trunk allowed vlan 101,102 switchport mode trunk channel-group 1 mode on
NetApp の設定
ifgrp create multi ifgrp0 -b ip e0a e0b vlan create ifgrp0 101 102 ifconfig ifgrp0-101 192.168.101.100 netmask 255.255.255.0 partner ifgrp0 ifconfig ifgrp0-102 192.168.102.100 netmask 255.255.255.0 partner ifgrp0
ifgrp status default: transmit 'IP Load balancing', Ifgrp Type 'multi_mode', fail 'log' ifgrp0: 2 links, transmit 'IP Load balancing', Ifgrp Type 'multi_mode' fail 'default' Ifgrp Status Up Addr_set up: e0a: state up, since 02Apr2016 13:18:54 (01:04:47) mediatype: auto-1000t-fd-up flags: enabled input packets 2408902, input bytes 3601548374 output packets 1264232, output bytes 97298932 up indications 1, broken indications 0 drops (if) 0, drops (link) 0 indication: up at 02Apr2016 13:18:54 consecutive 3887, transitions 1 e0b: state up, since 02Apr2016 13:18:42 (01:04:59) mediatype: auto-1000t-fd-up flags: enabled input packets 0, input bytes 0 output packets 122, output bytes 8396 up indications 2, broken indications 1 drops (if) 0, drops (link) 0 indication: up at 02Apr2016 13:18:42 consecutive 4159, transitions 3
以上
VMware Photon Linux について
VMware が、コンテナ向けに最適化された軽量 LinuxOS「Project Photon」をテクノロジープレビューとして公開しました。これまで仮想化ハイパーバイザを中心に製品群を組み立て(あるいは Spring Framework のような上位レイヤのものもありましたが)、OS とは一定の距離を保とうとしていた VMware にとって大きな変化といえます。
出典:Publickey
今回、vSphere ESXi5.5 の基盤上に Photon Linux をインストールし、基本的な動作を確認してみました。
Photon Linux のインストール
VMware Github から[Photon OS, Tech Preview 2 Full ISO]をダウンロードします。
次のサイトを参考に仮想マシンを作成し、ダウンロードしたイメージをマウントし起動します。
今回は、Photon Full OS (All) を選択します。
再起動後、インストール完了です。
Photon Linux の環境確認
今回インストールした Photon Linux のカーネルバージョンは、以下のとおりです。
# uname -a Linux photon 4.0.9 #1-photon SMP Thu Aug 20 19:57:53 UTC 2015 x86_64 GNU/Linux
Photon Linux のディストリビューションバージョンは、以下のとおりです。
# cat /etc/lsb-release DISTRIB_ID="VMware Photon" DISTRIB_RELEASE="1.0 TP2" DISTRIB_CODENAME=Photon DISTRIB_DESCRIPTION="VMware Photon 1.0 TP2"
Docker のバージョンは、以下のとおりです。
> rpm -q docker docker-1.8.1-1.ph1tp2.x86_64
Photon への SSH ログイン
root ユーザでの SSH ログインを許可します。*1
# vi /etc/ssh/sshd_config # 134 行目あたりにある、「PermitRootLogin」を「yes」に変更します。 > PermitRootLogin yes
sshd を再起動します。
# systemctl restart sshd.service
Docker の起動
以下のコマンドで、Docker のサービスを開始します。
# systemctl start docker # systemctl enable docker
Docker イメージのダウンロード
Docker イメージは、コンテナを実行するために必要なアーカイブ*2と、コンテナのメタ情報を持ちます。
多くのベースイメージは Docker Hub Registry で公開されているので、そこからダウンロードするのが一般的です。イメージのダウンロードは、docker pull コマンドを実行します。
(書式) # docker pull {イメージ名}:{タグ名}
初期設定では、Docker レジストリとして「Docker Hub Registry」にアクセスするようになっています。
今回の例では、Ubuntu Linux Dockerイメージの最新版をダウンロードします。*3
# docker pull ubuntu
以下のコマンドで、ダウンロードした Docker イメージの一覧を確認します。
# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE ubuntu latest d55e68e6cc9c 3 weeks ago 187.9 MB
Docker コンテナの作成・実行
docker run コマンドで、コンテナの新規作成と実行の両方を行います。
(書式) # docker run [オプション] [--name {コンテナ名}] {イメージ名}[:{タグ名}] [コンテナで実行するコマンド] [引数]
主なオプション
- 「-d」:バックグラウンドで実行する。(Web サーバー等、常時実行するコンテナで指定)
- 「-i」:コンテナの標準入力を開く。(/bin/bashなどでコンテナを操作する際に指定)
- 「-t」:tty(端末デバイス)を確保する。(/bin/bashなどでコンテナを操作する際に指定)
- 「-p{ホストのポート番号}:{コンテナのポート番号}」:Docker のホストとポートマッピングを構成
今回の例では、Ubuntu イメージからコンテナ「web01」を作成、端末を開き bash を実行します。
# docker run -it --name web01 ubuntu /bin/bash
root@ef408ef16c7a:/#
コンテナで bash が実行され、プロンプトが表示されます。
一瞬で新規作成~起動まで完了し、コンテナ内で任意の操作ができます。
Web サーバーの「nginx」をコンテナにインストールします。
# apt-get install -y nginx
curl を使用して確認します。
# curl localhost <!DOCTYPE html> <html> <head> <...snip...>
確認が完了したら[Ctrl]+[d]キーで bash プロセスを終了します。
プロセスの終了とコンテナの停止は連動するため、この時点でコンテナ「web01」は停止状態になります。
端末を再度開く場合は、プロセスを起動し docker attach コマンドを使用します。
# docker start web01 # docker attach web01
Docker コンテナの確認
Docker コンテナの一覧は、docker ps コマンドで確認します。
(書式) # docker ps [-a]
docker ps コマンドでは実行中のコンテナのみ表示されますが、「-a」オプションを付加すると、停止中のコンテナも表示されます。
# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ef408ef16c7a ubuntu "/bin/bash" 10 hours ago Exited (0) 7 minutes ago web01 STATUS で「Up」は実行中、「Exit」は停止を示します。
Docker イメージの作成
上記で作成したコンテナ(web01)から、新しいイメージ(ubuntu_template)を作成してみます。
(書式) # docker commit {コンテナ名}|{コンテナID} [{ユーザー名}/]{イメージ名}
# docker commit web01 user01/ubuntu_template
以下のコマンドで、作成した Docker イメージの一覧を確認します。
# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE user01/ubuntu_template latest e1f421fdefaf 5 seconds ago 216.5 MB ubuntu latest d55e68e6cc9c 3 weeks ago 187.9 MB
Docker コンテナのバックグラウンド実行
作成したイメージには、nginx が含まれているので、こちらからコンテナを作成、実行してみます。
# docker run -d -p 80:80 --name web02 user01/ubuntu_template /usr/sbin/nginx -g 'daemon off;' -c /etc/nginx/nginx.conf 7f5b4a545ba47c356148b78898d74342bd56249bc4d71938648a79279c50c10f 80番ポートを Listen しバックグラウンドで実行するようにオプションを指定します。
バックグラウンドで実行しているため、docker ps コマンドの-aオプションなしでも表示されます。
# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7f5b4a545ba4 user01/ubuntu_template "/usr/sbin/nginx -g '" About a minute ago Up About a minute 0.0.0.0:80->80/tcp web02
Docker コンテナのの停止
実行中の Docker コンテナは、docker stop で停止します。
(書式) # docker stop {コンテナ名}|{コンテナID}
停止後、docker ps を実行すると表示されなくなります。
# docker stop web02 web02 # docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Docker コンテナのの削除
Docker コンテナは docker rm、Docker イメージは docker rmi で削除します。
(書式) # docker rm {コンテナ名}|{コンテナID} # docker rmi {イメージ名}|{イメージID}
今回作成した Docker コンテナを削除します。
# docker rm web01 # docker rm web02
次に Docker イメージを削除します。
# docker rmi user01/ubuntu_template
Untagged: user01/ubuntu_template:latest
Deleted: e1f421fdefaf4c60018ccd3fbec43483ec8c6d07d3232d8c67293878e5422e6f
参考サイト:
https://communities.vmware.com/people/gowatana/blog
http://blog.amedama.jp/entry/2015/09/24/222040
http://www.atmarkit.co.jp/ait/articles/1405/16/news032.html
http://www.atmarkit.co.jp/ait/articles/1406/10/news031_3.html
以上
Cisco ASA のポータルページ無効化
Cisco ASA で WebVPN を使用時、ブラウザで ASA のアドレスにアクセスすると以下のようなポータルサイトが表示されます。
このポータルサイトを無効化するには、以下のコマンドを実行します。
ciscoasa# conf t ciscoasa(config)# webvpn ciscoasa(config-webvpn)# portal-access-rule 1 deny code 403 any ciscoasa(config-webvpn)# end ciscoasa# sh run web
以上
VMware Mirage の CVD Policy について
例えば、複数のディスクドライブ*1を持つ PC からベースレイヤを作成し、それを単一のディスクドライブを持つエンドポイントに配布しようとすると、下記のようなエラーとなります。
Drive Letter Mismatch. Base Layer: 'c,e',Device:'c'
これを回避するには、エンドポイントをベースレイヤと同様のディスク構成にするか、ベースレイヤのディスク構成をエンドポイントにあわせる必要があります。
「CVD Policy」では、保護対象とするディスクを明示的に設定できるため、これを使用してベースレイヤのディスク構成をエンドポイントにあわせることが可能です。
CVD Policy の作成
左ペインの[Polices]で[Add]をクリックします。
[Protected volumes]で、保護対象のボリュームを「C:」のみに指定します。*2
[Policies]に Policy(Name:Protect Only C volume)が作成されます。
CVD Policy の適用
[Pending Devices]から対象の仮想マシンを選択し[Create Reference CVD(Base Layer)]をクリックします。
作成した CVD Policy を選択し[Next]をクリックします。
その他の設定は全てデフォルトを指定し[Finish]をクリックします。
アップロード処理が完了後、[Capture Base Layer]をクリックし、Base Layer の作成処理を開始します。
[Name]に Base Layer の名称を入力し[Next]をクリックします。
その他の設定は全てデフォルトを指定し[Finish]をクリックします。
上記で作成したベースレイヤは、単一のディスクドライブを持つエンドポイントに配布可能となります。
ESXi で CDP を有効化
ESXi で CDP を有効化し、Cisco のスイッチで認識させる設定です。
シェルで以下のコマンドを実行し、vSwitch0 で CDP を有効化します。
~ # esxcfg-vswitch -B both vSwitch0
以下のコマンドで設定状態を確認します。「both」となっていれば有効です。
~ # esxcfg-vswitch -b vSwitch0 both
VMware Mirage の File Portal について
留意事項として、事前にベースラインを適用している必要があります。
また、ベースライン適用時に、Mirage Gateway にログインしているユーザーが、File Portal ユーザーになります。例として、下記 CVD(Name:WIN-K9VEUG0NIUT)の File Portal User は「User01」になります。
File Portal ユーザーは、以下の URL にアクセスし、自分のファイルをダウンロードする事ができます。
https://Mirage Server IP:6443/Exploer
また、管理者は、以下の URL から全ユーザーのファイルをダウンロードする事ができます。
https://Mirage Server IP:6443/AdminExploer
注意点として、アクセス時に「HTTP 500 エラー」が出力される場合があります。
この場合、Mirage Server に「ASP.NET」をインストールします。詳細については、以下を参照ください。
HTTP error 500 or 403 when accessing VMware Horizon Mirage File Portal or Web Manager
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i
File Poral ログイン例
以下の URL でログインします。
https://192.168.1.10:6443/Exploer
File Portal User でログインします。
自分のファイルをダウンロードする事ができます。
管理者 File Poral ログイン例
以下の URL でログインします。
https://192.168.1.10:6443/AdminExploer
管理者ユーザーでログインします。
任意のユーザーのファイルをダウンロードする事ができます。
管理者 File Portal のアクセス制御について
管理者 Portal は、「ローカルセキュリティポリシー」で許可されたユーザーのみアクセス可能です。*1
File Portal をインストールした IIS サーバで、[ローカルセキュリティポリシー]をクリックします。
[ローカルポリシー]の[ユーザー権の指定]から[ローカルでログオンを許可]をクリックします。
アクセスを許可したいユーザーを追加します。
これで、user01 でも管理者 File Portal へアクセス可能となります。
以上
*1:デフォルトでは、Mirage をインストール後に追加したユーザー「user01」では、アクセスできませんでした。
VMwareMirageの基本操作について
はじめに
VMware Mirage は、PC を以下の6つの論理レイヤーに分離し、管理します。
- ユーザーデータ設定レイヤー
- レジストリに対する構成の変更等、ユーザーが設定した状態が含まれます。
- ユーザーアプリケーションレイヤー
- ユーザーがインストールしたアプリケーションが含まれます。
- マシン ID レイヤー
- 一意の識別子、ホスト名等が含まれます。
- アプリケーションレイヤー
- 1つ以上の部署、または業務部門アプリケーションのセットが含まれます。
- ベースレイヤー
- OS、アンチウイルス、ファイアウォール及び、Office 等の主要アプリケーションが含まれます。
- ドライバライブラリレイヤー
- 固有のハードウェアで使用するためのドライバのグループが含まれます。
レイヤ管理の手順
エンドポイントの登録
左ペインの[Pending Devices]から対象の仮想マシンを選択し[Centralize Endpoint]をクリックします。
本例では[VMware Mirage Default CVD policy]を選択し[Next]をクリックします。
その他の設定は全てデフォルトを指定し[Finish]をクリックします。
左ペインの[CVD Inventory]から進捗を確認できます。
ベースレイヤの作成
左ペインの[Pending Devices]から対象の仮想マシンを選択し[Create Reference CVD]をクリックします。
[Base Layer]をクリックします。
その他の設定は全てデフォルトを指定し[Finish]をクリックします。
左ペインの[CVD Inventory]から進捗を確認できます。
アップロード処理が完了後、[Capture Base Layer]をクリックし、Base Layer の作成処理を開始します。
[Name]に Base Layer の名称を入力し[Next]をクリックします。
その他の設定は全てデフォルトを指定し[Finish]をクリックします。
左ペインの[CVD Inventory]から進捗を確認できます。
アップロード処理が完了後、左ペインの[Layers]からレイヤの詳細情報が確認できます。
OS マイグレーション
事前準備として、USMT を Mirage Server へインストールします。
Windows Automated Installation Kit for Windows 7 から[KB3AIK_EN.iso]をダウンロードします。
ダウンロードしたイメージをマウントし、インストールします。
デフォルトでは、以下のフォルダにインストールされます。
C:\Program Files\Windows AIK\Tools\USMT
次に USMT 4.0 update から HotFix をダウンロードします。
[Windows6.1-KB2023591-x64]を解凍後、4つのファイルを USMT のフォルダへ上書きコピーします。
Mirage Console を起動し左ペインの[System Configuration]から[USMT]タブをクリックします。
[Import USMT Folder]をクリックし、USMT をインストールしたフォルダを指定します。
以上で、Windows7 へマイグレートするために必要な USMT4.0 のインストールが完了しました。
Windows8/8.1 へマイグレートするためには、USMT6.3 をインストールする必要があります。
Windows ADK for Windows 8.1 Update から[adksetup.exe]をダウンロードします。
ダウンロードしたファイルを実行し、インストールします。
デフォルトでは、以下のフォルダにインストールされます。
C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\User State Migration Tool
先の手順と同様に[Import USMT Folder]をクリックし、USMT をインストールしたフォルダを指定します。
以上で、Windows8/8.1 へマイグレートするために必要な USMT6.3 のインストールが完了しました。
左ペインの[CVD Inventory]から対象の仮想マシンを選択し[Migrate Windows OS]をクリックします。
[Download and Apply Base Layer]を指定し[Next]をクリックします。
ドメインの情報を設定します。本例では WORKGROUP を指定します。
その他の設定は全てデフォルトを指定し[Finish]をクリックします。
なお、USMT をインストールしていない場合、以下のエラーが出力されます。
USMT has not been imported to the server. VMware Mirage requires Microsoft USMT 6.3 for this operation.
マイグレーション実行後、クライアント側で再起動が必要です。
再起動後、Mirage により、Windows7→8.1のマイグレーションが実行されます。
マイグレート及び、ベースレイヤが適用が完了します。
ベースレイヤの適用
左ペインの[CVD Inventory]から対象の仮想マシンを選択し[Assign Base Layer]をクリックします。
適用するベースレイヤをリストから選択し[Next]をクリックします。
その他の設定は全てデフォルトを指定し[Finish]をクリックします。
なお、適用先とベースレイヤの OS が異なる場合は、下記のとおりエラーとなります。
OS Mismatch. Windows operating system mismatch between layer and CVD.
アップデートが完了し、クライアントで再起動した後、ベースレイヤが適用されます。
対象のエンドポイントに、適用したベースレイヤが表示されます。
アップレイヤの作成
左ペインの[Pending Devices]から対象の仮想マシンを選択し[Create Reference CVD]をクリックします。
[App Layer]をクリックします。
本例では[VMware Mirage Default CVD policy]を選択し[Next]をクリックします。
その他の設定は全てデフォルトを指定し[Finish]をクリックします。
左ペインの[CVD Inventory]から進捗を確認できます。
クライアント側でレコーディングアプリレイヤが起動します。
テストで、Tera Term/LogMeTT/TTLEditor をインストールします。
[Finalize App Layer Capture]をクリックし、レコード処理を完了します。
アプリケーションの内容を確認し[Next]をクリックします。
[Name]に App Layer の名称を入力し[Next]をクリックします。
その他の設定は全てデフォルトを指定し[Finish]をクリックします。
左ペインの[CVD Inventory]から進捗を確認できます。
アップロード処理が完了後、左ペインの[Layers]からレイヤの詳細情報が確認できます。
アップレイヤの適用
左ペインの[CVD Inventory]から対象の仮想マシンを選択し[Assign App Layer]をクリックします。
適用するアップレイヤを追加し[Next]をクリックします。
その他の設定は全てデフォルトを指定し[Finish]をクリックします。
アップデートが完了し、クライアントで再起動した後、アップレイヤが適用されます。
VMware Mirage について
VMware Mirage の概要
管理は集中、アプリケーションはローカルで実行
- 単一の PC イメージを IT 部門とエンドユーザー管理する論理レイヤに分離
- VDI のように共通のマスターイメージを物理 PC に配信可能
- ユーザーのデータやアプリケーションはマスターイメージで上書きされない
- ユーザーが誤って削除したファイルもユーザー自身でリストア可能
VMware Mirage の構築
検証環境
- VMware Mirage 5.4 を使用します。
- Mirage Server の OS 及び DB 領域として、ローカルドライブ(C:\)を使用します。
- Mirage Server はドメイン(example.com)に所属します。
- Mirage Gateway Server はドメインに所属しません。
- AD サーバに証明書サービスをインストールし、各サーバーへ証明書を発行します。
- データーベースとして、SQL2012 Express を使用します。
検証構成
Mirage Server の構築
.NET インストール
Mirage Server は .NET Framework を必要としますのでインストールします。
CSR 作成と証明書のインポート
「SSL サーバー証明書について」を参考に CSR 作成及び、証明書のインポートを行います。
SQL2012 Express インストール
以下の機能をインストールします。
インスタンス ID は「MRGDB」とします。
認証は「混合モード」を選択します。
Mirage Management Server インストール
先の手順で作成したインスタンス「MRGDB」を指定してインストールします。
Mirage Server インストール
先の手順で作成したインスタンス「MRGDB」を指定してインストールします。
IIS のインストール
「Mware Mirage インストールガイド」を参考に必要な機能をインストールします。
WebManagemnet インストール
デフォルトの内容(HTTP:7080、HTTPS:7443)でインストールします。
WebAccess インストール
デフォルトの内容(HTTP:6080、HTTPS:6443)でインストールします。
IIS 証明書バインド
「SSL サーバー証明書について」を参考に バインドの設定を行います。
Management Console インストール
インストール後、Management Console を起動します。
フォルダを右クリックし、「Add System on localhost」を選択します。
Mirage Server 及び Mirage Gateway を管理します。
Mirage Gateway の構築
CSR 作成
「SSL サーバー証明書について」を参考に CSR 作成及び、証明書(PFX 形式)のダウンロードを行います。
Mirage Gateway インストール
OVA をデプロイして起動後、以下のコマンドから基本設定を行います。
> sudo su - # /opt/vmware/share/vami/vami_config_net
resolv.conf で nameserver を設定します。
# vi /etc/resolv.conf nameserver 192.168.1.99
Mirage Gateway 設定
https://[MirageGatewayIP]:8443/WebConsole へアクセスします。
LDAP(本例では AD)を指定します。
Mirage Server を指定します。
先の手順でダウンロードした証明書をアップロードします。
Mirage Client のインストール
Mirage Client のインストール
本例では、Mirage Gateway の FQDN を指定してインストールします。
必要に応じて、Wanova.Desktop.Configurator.exe*1で設定を行います。
「Service」タブの「Detailed log」で、サーバとの接続ステータスを確認可能です。
一例として、サーバと接続が失敗した際のエラー内容と対処方法を以下に記載します。
- 接続が失敗し、下記メッセージが出力されている場合は、証明書の問題である可能性があります。例えば、ローカル PC の「信頼されたルート証明機関」に証明書がインポートされていない等が考えられます。
SslPolicyErrors: RemoteCertificateChainErrors ERROR Wanova.Net.Transport.GenericSocketWrapper Exception caught during socket creation: The remote certificate is invalid according to the validation procedure
- 下記メッセージが出力されている場合は、証明書の内容と Mirage Client が指定したサーバ名に齟齬がある可能性があります。例えば、Mirage Gateway の FQDN ではなく、IP アドレスを指定している等が考えられます。
SslPolicyErrors: RemoteCertificateNameMismatch ERROR Wanova.Net.Transport.GenericSocketWrapper Exception caught during socket creation: The remote certificate is invalid according to the validation procedure
*1:C:\Program Files\Wanova\Mirage Service\Wanova.Desktop.Configurator.exe
ESXi の証明書入れ替え
こちらを参考にさせて頂きました。
ESXi の証明書は以下のフォルダに配置されています。
~ # cd /etc/vmware/ssl /etc/vmware/ssl # ls -l total 8 -rw-r--r-- 1 root root 1428 Jan 13 06:55 rui.crt -r-------- 1 root root 1708 Jan 13 06:55 rui.key
既存証明書のファイル名を変更します。
/etc/vmware/ssl # mv rui.crt rui.crt.old /etc/vmware/ssl # mv rui.key rui.key.old /etc/vmware/ssl # ls -l total 8 -rw-r--r-- 1 root root 1428 Jan 13 06:55 rui.crt.old -r-------- 1 root root 1708 Jan 13 06:55 rui.key.old
新しい証明書を同フォルダに配置します。
/etc/vmware/ssl # ls -l total 16 -rw-r--r-- 1 root root 1428 Jan 13 06:55 rui.crt -rw-r--r-- 1 root root 1428 Jan 13 06:55 rui.crt.old -r-------- 1 root root 1708 Jan 13 06:55 rui.key -r-------- 1 root root 1708 Jan 13 06:55 rui.key.old
Manegement Agents を再起動します。
/etc/vmware/ssl # /etc/init.d/hostd restart /etc/vmware/ssl # /etc/init.d/vpxa restart
証明書が更新されると、vCenterからホストが切断されますので、再接続が必要です。
CentOS で FTP サーバ構築
検証用に FTP サーバが必要になったので、CentOS で構築した際のメモ。
こちらのサイトがとても分かりやすかったので、参考にさせて頂きました。
vsftpd インストール
[root@hostname ~]# yum -y install vsftpd
vsftpd.conf 設定
[root@hostname ~]# vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO <- 匿名ログイン禁止 ascii_upload_enable=YES <- コメントアウト:アスキーモードでの転送を許可 ascii_download_enable=YES <- コメントアウト:アスキーモードでの転送を許可 chroot_local_user=YES <- コメントアウト:chroot有効 chroot_list_enable=YES <- コメントアウト:chroot有効 chroot_list_file=/etc/vsftpd/chroot_list <- コメントアウト:chroot リストファイル指定 ls_recurse_enable=YES <- コメントアウト:ディレクトリごと一括での転送有効 local_root=public_html <- 最終行へ追記:ルートディレクトリ指定 use_localtime=YES <- 最終行へ追記:ローカルタイムを使う
chroot_list 設定
[root@hostname ~]# vi /etc/vsftpd/chroot_list ftpuser <- chroot を適用しないユーザーを追加
ユーザアカウント作成
[root@hostname ~]# useradd ftpuser [root@hostname ~]# passwd ftpuser
ルートディレクトリ作成
[root@hostname ~]# mkdir /home/ftpuser/public_html
SELinux 無効化
[root@hostname ~]# setenforce 0 [root@hostname ~]# getenforce ※Enforcing:SELinux が有効の場合、クライアントからの接続時に下記エラーが出力される場合があります。 500 OOPS: cannot change directory:/home/user1 500 OOPS: priv_sock_get_cmd 接続がリモート ホストによって閉じられました。
vsftpd 再起動
[root@hostname ~]# /etc/rc.d/init.d/vsftpd start
vsftpd 起動設定
[root@hostname ~]# chkconfig vsftpd on
以上
VMware のマルチパス機構について
VMware のマルチパスについて
VMware のデフォルトのマルチパスプラグインは、NMP(Native Multi-Pathing Plugin)と呼ばれる汎用のマルチパスモジュールです。NMP は SATP(Storage Array Type Plugin)と PSP(Path Selection Plugin)で構成されます。
SATP
- 物理パスに関連付けられ、パスのフェイルオーバを制御します。
PSP
- どの物理パスを使用して I/O 要求を送信するかを処理します。
通常、VMware 社の互換性ガイドに記載のある PSP が自動で選択されますが、任意の PSP が適用されるようデフォルトを変更する事が可能です。
マルチパスの確認方法
SATP のリストは下記のコマンドで表示します。
~ # esxcli storage nmp satp list Name Default PSP Description ------------------- ------------- ------------------------------------------ VMW_SATP_MSA VMW_PSP_MRU Placeholder (plugin not loaded) VMW_SATP_ALUA VMW_PSP_MRU Placeholder (plugin not loaded) VMW_SATP_DEFAULT_AP VMW_PSP_MRU Placeholder (plugin not loaded) VMW_SATP_SVC VMW_PSP_FIXED Placeholder (plugin not loaded) VMW_SATP_EQL VMW_PSP_FIXED Placeholder (plugin not loaded) VMW_SATP_INV VMW_PSP_FIXED Placeholder (plugin not loaded) VMW_SATP_EVA VMW_PSP_FIXED Placeholder (plugin not loaded) VMW_SATP_ALUA_CX VMW_PSP_RR Placeholder (plugin not loaded) VMW_SATP_SYMM VMW_PSP_RR Placeholder (plugin not loaded) VMW_SATP_CX VMW_PSP_MRU Placeholder (plugin not loaded) VMW_SATP_LSI VMW_PSP_MRU Placeholder (plugin not loaded) VMW_SATP_DEFAULT_AA VMW_PSP_FIXED Supports non-specific active/active arrays VMW_SATP_LOCAL VMW_PSP_FIXED Supports direct attached devices
PSP のリストは下記のコマンドで表示します。
~ # esxcli storage nmp psp list Name Description ------------- --------------------------------- VMW_PSP_MRU Most Recently Used Path Selection VMW_PSP_RR Round Robin Path Selection VMW_PSP_FIXED Fixed Path Selection
デフォルトの PSP を Round Robin に変更したい場合は下記を実行します。
~ # esxcli storage nmp satp set -s VMW_SATP_DEFAULT_AA -P VMW_PSP_RR Default PSP for VMW_SATP_DEFAULT_AA is now VMW_PSP_RR ~ # esxcli storage nmp satp list Name Default PSP Description ------------------- ------------- ------------------------------------------ VMW_SATP_MSA VMW_PSP_MRU Placeholder (plugin not loaded) VMW_SATP_ALUA VMW_PSP_MRU Placeholder (plugin not loaded) VMW_SATP_DEFAULT_AP VMW_PSP_MRU Placeholder (plugin not loaded) VMW_SATP_SVC VMW_PSP_FIXED Placeholder (plugin not loaded) VMW_SATP_EQL VMW_PSP_FIXED Placeholder (plugin not loaded) VMW_SATP_INV VMW_PSP_FIXED Placeholder (plugin not loaded) VMW_SATP_EVA VMW_PSP_FIXED Placeholder (plugin not loaded) VMW_SATP_ALUA_CX VMW_PSP_RR Placeholder (plugin not loaded) VMW_SATP_SYMM VMW_PSP_RR Placeholder (plugin not loaded) VMW_SATP_CX VMW_PSP_MRU Placeholder (plugin not loaded) VMW_SATP_LSI VMW_PSP_MRU Placeholder (plugin not loaded) VMW_SATP_DEFAULT_AA VMW_PSP_RR Supports non-specific active/active arrays VMW_SATP_LOCAL VMW_PSP_FIXED Supports direct attached devices
なお、マルチパスのルールを確認するには下記を実行します。
~ # esxcli storage nmp satp rule list Name Device Vendor Model Driver Transport Options Rule Group Claim Options Default PSP PSP Options Description ------------------- ------ ------- ---------------- ------ --------- -------------------------- ---------- ----------------------------------- ----------- ----------- -------------------------------------------------------------------------- VMW_SATP_MSA MSA1000 VOLUME system MSA 1000/1500 [Legacy product, Not supported in this release] VMW_SATP_ALUA NETAPP reset_on_attempted_reserve system tpgs_on VMW_PSP_RR NetApp arrays with ALUA support VMW_SATP_ALUA IBM 2810XIV system tpgs_on VMW_PSP_RR IBM 2810XIV arrays with ALUA support VMW_SATP_ALUA IBM 2107900 reset_on_attempted_reserve system VMW_PSP_RR VMW_SATP_ALUA IBM 2145 system VMW_PSP_RR <...snip...>
マルチパスのルールを追加する場合は下記を実行します。
esxcli storage nmp satp rule add -V "Vendor" -M "Model" -e "Description"
以上