Red Hat Enterprise LinuxユーザーのためのOracle Solaris 11ハンズオン・ラボ

OTNのシステム管理者/開発者コミュニティのハンズオン・ラボ

Glynn Foster著

Red Hat Enterprise Linuxの管理と比較したOracle Solaris 11の管理の基本について


2013年11月公開


目次
はじめに
前提条件
環境
ラボの概要
ラボの目標
演習1:インストール
演習2:ソフトウェアのパッケージ化
演習3:ファイル・システム
演習4:ネットワーク
演習5:ユーザー管理
演習6:サービス
演習7:仮想化
まとめ
参考資料
著者について

この記事についてコメントする場合は、リンクをFacebookのOTN Garageのページに投稿してください。同様の記事を共有する場合は、FacebookまたはTwitterに投稿してください。みんなで議論しましょう。

はじめに

このラボでは、Red Hat Enterprise Linuxの使用経験がある管理者向けに、Oracle Solaris 11の管理の基本について説明します。具体的な内容は、ユーザーの追加とロールの割当て、自動および手動によるネットワークの構成、ZFSファイル・システムによるストレージの管理、Oracle Solaris Zonesによる仮想化されたアプリケーション分離の実現、サービス管理フレームワークによるサービスの管理といったシステム構成全般です。ソフトウェアのライフ・サイクルや、Image Packaging System(およびZFSブート環境を使用したフェイルセーフ更新)によるソフトウェアのインストールおよび更新の方法についても説明します。

また、Red Hat Enterprise Linuxにおける操作と比較し、Oracle Solaris 11固有の差別化要因をいくつか紹介します。

前提条件

このラボは、グラフィカル・インタフェースとコマンドライン・インタフェースの両方によるRed Hat Enterprise Linuxシステムの管理に関する基本的な知識を持っていることが前提となっています。

環境

このラボでは、Oracle VM VirtualBoxを使用し、Oracle Solaris 11がインストールされた仮想マシンを使用します。Oracle Solaris 11仮想マシンは、このラボに関するかぎり、ベアメタル・インスタンスとして扱うことができます。

このラボでは、"Oracle Solaris 11"と"Oracle Solaris 11 Client Install"という2つの構成済み仮想マシンを使用します。

"Oracle Solaris 11"は、Oracle Solaris 11が事前インストールされた仮想マシンで、完全なデスクトップ環境を提供します。この仮想マシンには2つのネットワーク・インタフェースがあり、その両方が内部ネットワーク構成によって接続されています。また、追加の4GB SATAストレージ・コントローラも接続されています。ローカル・パッケージ・リポジトリが/repositoryにセットアップされており、これはhttp://pkg.oracle.comでホストされる"リリース"パッケージ・リポジトリのコピーです。この構成は、最初の演習にのみ必要です。

"Oracle Solaris 11 Client Install"仮想マシンは、空の仮想マシンです。この仮想マシンは、CD/DVDドライブとそれに接続された仮想Oracle Solaris 11の対話型テキスト・インストーラISOイメージによって構成されています。この仮想マシンには、内部ネットワーク構成を使用して構成された1つのネットワーク・インタフェースがあります。システムのブート順序は、まずネットワーク、次に仮想CD/DVDドライブ、最後にハード・ディスクの順で起動するように構成されています。

このラボでは、次のログイン資格証明を使用します。ouserアカウントには、rootロールが割り当てられています。他のオペレーティング・システムと異なり、Oracle Solaris 11では、監査上の理由から、rootでシステムに直接ログインすることはできず、個別のユーザー・アカウントでログイン後にrootロールを継承する必要があります。

表1:ログイン資格証明
ユーザーID パスワード
ouser Oracle 123
root solaris11

ラボの概要

このラボは、多数の基本的な管理タスクを説明するいくつかの異なる演習に分かれています。各演習は、相互に独立しています。

その領域のより高度な管理を学習したい場合のために、演習の最後には追加のタスクが用意されています。これらの追加タスクを完了するための手順は示されていないため、必要に応じて、製品ドキュメント、オンラインHow-Toガイド、およびマニュアル・ページを参照してください。

表2:演習
演習 タイトル 学習内容
1 インストール
  • 対話型テキスト・インストーラによる手動インストールの実行
  • 自動インストーラによる人的介入なしのインストールの実行
2 ソフトウェアのパッケージ化
  • パッケージのインストール
  • パッケージ用のリポジトリの検索
  • システムの更新
  • ZFSブート環境の作成
3 ファイル・システム
  • ZFSプールの作成
  • いくつかのZFSデータセットの作成
  • ZFSスナップショットおよびクローンの作成
  • ZFSデータセットの暗号化
4 ネットワーク
  • 静的IPアドレスの構成
  • DHCPによる動的IPアドレスの構成
  • 仮想ネットワークの構成
5 ユーザー管理
  • ユーザーの追加
  • ユーザーへのロールと特権の委任
6 サービス
  • システムおよびアプリケーション・サービスの表示
  • サービスの有効化と無効化
  • サービスのプロパティの設定
7 仮想化
  • ゾーンの作成
  • ゾーンのクローニング

ラボの目標

このラボを終了することにより、Oracle Solaris 11の基本的な管理を習得し、インストール、ソフトウェアのパッケージ化、ファイル・システム、ユーザー管理、サービス、ネットワーク、仮想化といった領域でのOracle Solaris 11とRed Hat Enterprise Linuxの相違を理解できます。製品ドキュメント、マニュアル・ページ、またはオンラインHow-To記事を参照することにより、より高度な管理タスクも容易に調べて実行できます。また、ヘルプ情報の入手先も知ることができます。

演習1:インストール

Oracle Solaris 11には、いくつかの異なるインストール・オプションが付属しています。ニーズとインストールするシステムに応じて、適したオプションを選択してください。これらのオプションにより、スタンドアロン・サーバーのインストール、多数の異なるサーバーの自動インストール、または完全なデスクトップ環境でのオペレーティング・システムの簡単な評価といったニーズに柔軟に対応できます。Oracle Solaris 11のインストール・オプションは、以下のとおりです。

表3:インストール・オプション
インストール・メディアの種類 一般的なユースケース
LiveCD/LiveUSB グラフィカルなインストーラを使用して、完全なOSとデスクトップ環境を起動します(インストールはオプション)。この環境は評価に最適です。
対話型テキスト・インストーラ テキストベースのグラフィカルなインストーラを使用して、最小化されたOSをインストールします。この環境はほとんどのサーバー・インストールの基盤に最適です。
自動インストーラ インストール・マニフェストを使用してネットワーク経由で複数のシステムをプロビジョニングする機能を提供します。

対話型テキスト・インストーラによるシステムのインストール

対話型テキスト・インストーラを使用すると、ほとんどのサーバー指向の状況に役立つ、あらかじめ決められたソフトウェア一式をインストールできます。このインストーラでは、ディスクの選択およびパーティショニング、ネットワーク、ユーザー、タイムゾーンなどの簡単なシステム構成を順番に実行できます。高度な構成は、OSをインストールして起動した後に実行できます。

Oracle VM VirtualBoxで"Oracle Solaris 11 Client Install"仮想マシンを起動します。この仮想マシンは、最初にネットワークを起動し、次にISOインストール・イメージを起動するように事前に構成されています。ネットワークがタイムアウトするのを待ってから、以下の手順に従って、対話型テキスト・インストーラによるインストールを完了してください。いくつかの基本的な構成を求めるメッセージが表示されたら、インストール全体が完了していなくても、次のセクションに進んでください。

  1. [Enter]キーを押してデフォルトのキーボード・レイアウト(US-English)を受け入れます。

    図1

    図1:キーボード・レイアウトの選択

  2. [Enter]キーを押してデフォルトの言語(English)を受け入れます。

    図2

    図2:デフォルト言語の受け入れ

  3. 1」を選択してインストール・プロセスを開始します。

    図3

    図3:インストール・プロセスの開始

  4. [F2]キーを押して続行します。

    図4

    図4:Welcome画面

  5. Local Disks」を選択し、[F2]キーを押して続行します。

    図5

    図5:ディスク検出方法の選択

  6. デフォルトのディスク・オプションを選択し、[F2]キーを押して続行します。

    図6

    図6:ディスクの選択

  7. Use the entire disk」を選択し、[F2]キーを押して続行します。

    図7

    図7:ディスク全体の選択

  8. ネットワーク接続について「Automatically」を選択し、[F2]キーを押して続行します。

    図8

    図8:自動ネットワーク接続の構成の選択

  9. 自分の地域に合ったタイムゾーン地域を選択し、[F2]キーを押して続行します。

    図9

    図9:地域の選択

  10. 適切な場所を選択し、[F2]キーを押して続行します。

    図10

    図10:場所の選択

  11. 適切なタイムゾーンを選択し、[F2]キーを押して続行します。

    図11

    図11:タイムゾーンの選択

  12. 適切な時刻と日付を選択し、[F2]キーを押して続行します。

    図12

    図12:時刻と日付の選択

  13. 以下のユーザーの詳細情報を入力し、[F2]キーを押して続行します。

    rootユーザー:
    パスワード:solaris11

    Oracleユーザー:
    ユーザー名:ouser
    パスワード:Oracle123

    図13

    図13:ユーザーの詳細情報の入力

  14. デフォルトの匿名登録を選択し、[F2]キーを押して続行します。

    図14

    図14:匿名登録の選択

  15. No proxy」を選択し、[F2]キーを押して続行します。

    図15

    図15:プロキシ不使用の選択

  16. 選択した構成が正しいことを確認し、[F2]キーを押してインストールを開始します。

    図16

    図16:選択の確認とインストールの開始

  17. [F8]キーを押して、インストールされたOSを再起動します。仮想マシン設定の"Storage"で、仮想CD/DVDドライブを削除することが必要な場合があります。

    図17

    図17:再起動

対話型テキスト・インストーラによるシステムのインストールが正常に完了したら、この仮想マシンは不要になるため、仮想マシンを閉じることができます。

ご存じですか

Red Hat Enterprise Linuxは、スタンドアロン・システム・インストールにAnacondaインストーラを使用します。Anacondaはテキストの対話型インストーラとグラフィカルな対話型インストーラをサポートしており、管理者は、ディスク/パーティショニング、ソフトウェア/リポジトリの選択、ネットワーク、およびその他のシステム構成に関するいくつかのさまざまな質問に順番に応えることでインストールを実行できます。詳しくは、Red Hatのカスタマ・ポータルを参照してください。

Oracle Solaris 11で使用可能なインストール構成はAnacondaに比べて限られているように見えるかもしれませんが、これはクライアントを迅速に稼働させるための戦略であり、初期インストールの完了後には追加のカスタマイズが可能です。より高度なシステム・プロビジョニングを必要とする管理者は、自動インストーラの使用またはシステム・バックアップからのデプロイを検討してください。

自動インストーラによるシステムのインストール

自動インストーラを使用すると、ネットワーク経由で一度に多数のシステムをインストールできます。クライアントは、システム上で動作する自動インストーラ・サービスに接続し、インストール・マニフェストと照らし合わされます。インストール・マニフェストには、ソフトウェアの選択、仮想化環境、システム構成など、クライアントのインストール方法の詳細が規定されています。クライアントは、自動インストーラ・サービスに接続してこの情報を受け取ると、パッケージ・リポジトリに接続して、そのクライアント自体をプロビジョニングするために必要なソフトウェアを取得します。

Oracle VM VirtualBoxで"Oracle Solaris 11"仮想マシンを起動し、システムにログインします。

solaris console login: ouser
Password: Oracle123


ログインしたら、この後の管理タスクのためにrootロールを取得しましょう。

ouser@solaris: ~$ su -
Password: solaris11
root@solaris:~#

自動インストーラは、installadmコマンドライン・インタフェースを使用します。x86ベース・システムをプロビジョニングできる非常に単純なサービスをセットアップしましょう。このラボでは、インストール・サービスの管理方法について説明しますが、システムのプロビジョニングは行いません。

root@solaris:~# installadm list
There are no services configured on this server.

solarisと呼ばれるクライアント・インストール・サービスを作成しましょう。

root@solaris:~# installadm create-service -n solaris
Warning: Service svc:/network/dns/multicast:default is not online.
   Installation services will not be advertised via multicast DNS.

Creating service from: pkg:/install-image/solaris-auto-install
OK to use default image path: /export/auto_install/solaris? [y/N]: y
DOWNLOAD                                PKGS         FILES    XFER (MB)   SPEED
Completed                                1/1       514/514  294.3/294.3  7.3M/s

PHASE                                          ITEMS
Installing new actions                       662/662
Updating package state database                 Done 
Updating image state                            Done 
Creating fast lookup database                   Done 
Reading search index                            Done 
Updating search index                            1/1 

Creating i386 service: solaris

Image path: /export/auto_install/solaris

Refreshing install services
Warning: mDNS registry of service solaris could not be verified.

Creating default-i386 alias

No local DHCP configuration found. This service is the default
alias for all PXE clients. If not already in place, the following should
be added to the DHCP configuration:
Boot server IP: 192.168.0.122
Boot file(s):
    bios clients (arch 00:00):  default-i386/boot/grub/pxegrub2
    uefi clients (arch 00:07):  default-i386/boot/grub/grub2netx64.efi


Note: determined more than one IP address configured for use with AI.
Please ensure the above 'Boot server IP' is correct.

Refreshing install services
Warning: mDNS registry of service default-i386 could not be verified.

root@solaris:~# installadm list

Service Name Alias Of Status  Arch   Image Path 
------------ -------- ------  ----   ---------- 
default-i386 solaris  on      i386   /export/auto_install/solaris
solaris      -        on      i386   /export/auto_install/solaris

ここで行っていることについて説明すると、サービスを作成した際に、install-image/solaris-auto-installパッケージの内容を使用して、solarisサービスに使用するブート・イメージを作成しました。このブート・イメージは、/export/auto_install/に格納されています。これが初めて作成するサービスであるため、x86クライアント用のデフォルト・サービス(default-i386)も作成し、このデフォルト・サービスに対してsolarisを指定します。

このラボでは、次の出力に示されているように、すでにサーバー上にローカル・パッケージ・リポジトリがセットアップされています。

root@solaris:~# pkg publisher
PUBLISHER                   TYPE     STATUS P LOCATION
solaris                     origin   online F http://192.168.1.222/

クライアントをプロビジョニングするために、自動インストーラはデフォルトで、http://pkg.oracle.comでホストされているパッケージ・リポジトリに接続します。このデフォルトを変更して、ローカル・パッケージ・リポジトリを指定する必要があります。

ローカル・パッケージ・リポジトリは、ネットワークに制限のあるデータセンター環境や、管理者がより厳格にソフトウェアのバージョン制御管理を実行する必要のあるデータセンター環境で使用されます。パッケージ・リポジトリ情報は、作成したサービス用のorig_defaultインストール・マニフェストに含まれます。-mオプションを使用すると、次のように、サービスに関連付けられているマニフェストのリストが表示されます。

root@solaris:~# installadm list -m
Service/Manifest Name  Status   Criteria
---------------------  ------   --------
default-i386
   orig_default        Default  None

solaris
   orig_default        Default  None

マニフェストを表示するために、次のように、installadm exportコマンドを使用して、出力を/root/manifest.txtというファイルに渡すことができます。

root@solaris:~# installadm export -n default-i386 -m orig_default > /root/manifest.txt


定義したサービスは1つだけなので、default-i386サービスを使用します。/root/manifest.txtファイルを編集します。次のセクションを見つけてください。

<source>
  <publisher name="solaris">
    <origin name="http://pkg.oracle.com/solaris/release"/>

  </publisher>
</source>

このセクションを、次のように編集します。

<source>
  <publisher name="solaris">
    <origin name="http://192.168.1.222/solaris"/>

  </publisher>
</source>

これで、この新しい構成によってデフォルトのマニフェストを次のように更新できます。

root@solaris:~# installadm update-manifest -n default-i386 -f /root/manifest.txt -m orig_default

今あるサービスは1つだけなので、ここでは、サービス名としてsolarisではなくdefault-i386を指定します(将来のOracle Solaris 11リリースではこれが不要になる予定です)。

ネットワーク・インストールを開始する前に、クライアントのIPアドレス範囲、自動インストーラ・サービスの格納場所、およびPreboot Execution Environment(PXE)クライアント用のブート・イメージの格納場所を指定してDHCPサーバーを構成する必要があります。/etc/inet/dhcpd4.confを次のように編集してください。

# dhcpd.conf

default-lease-time 9000;
max-lease-time 86400;

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;

# arch option for PXEClient
option arch code 93 = unsigned integer 16;

# Set logging facility (accompanies setting in syslog.conf)
log-facility local7;

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.20 192.168.1.30;
  option broadcast-address 192.168.1.255;
  option routers 192.168.1.1;
  next-server 192.168.1.222;
}

class "PXEBoot" {
  match if (substring(option vendor-class-identifier, 0, 9) = "PXEClient");
  if option arch = 00:00 {
    filename "default-i386/boot/grub/pxegrub2";
  } else if option arch = 00:07 {
    filename "default-i386/boot/grub/grub2netx64.efi";
  }
}

では、DHCPサーバーを起動しましょう。サービスについては、少し後でより詳しく説明します。

root@solaris:~# svcadm enable dhcp/server:ipv4
root@solaris:~# svcs dhcp/server:ipv4
STATE          STIME    FMRI
online         21:57:27 svc:/network/dhcp/server:ipv4

DHCPサーバーがオンラインになったので、以下の手順で、ネットワークからクライアントを起動します。

"Oracle Solaris 11 Client Install"仮想マシンを起動し、起動したことを確認して、ネットワークからインストールします。クライアント・システムのインストールが正常に完了したら、次の演習に移ることができます。

  1. クライアント・システムがネットワークから起動され、DHCPサーバーからIPアドレスが取得されます。

    図18

    図18:ネットワークからのクライアントの起動

  2. 自動インストーラを選択して、[Enter]キーを押します。

    図19

    図19:自動インストーラの選択

  3. クライアント・システムは、自動インストーラ・サーバーのIPアドレスを取得し、適切なインストール・プロファイルを検索して、そのクライアント・システム自体のプロビジョニングを開始します。

    図20

    図20:クライアントによるクライアント自体のプロビジョニングの開始

  4. クライアント・システムは、パッケージ・リポジトリに接続し、パッケージに必要なものの計算を開始します。

    図21

    図21:クライアントのパッケージ・リポジトリへの接続

  5. クライアント・システムは、リポジトリからのパッケージのダウンロードを開始します。

    図22

    図22:クライアントによるリポジトリからのパッケージのダウンロードの開始

  6. クライアント・システムによるクライアント・システム自体のプロビジョニングが完了しました。これで、システムを再起動できます。

    図23

    図23:クライアントによるクライアント自体のプロビジョニングの完了

ご存じですか

Red Hat Enterprise Linuxは、Kickstartを使用して、ネットワーク経由で複数のクライアントをプロビジョニングします。管理者は、一連のキーワード要素を使用して、ディスク/パーティショニング、ソフトウェアの選択、ネットワーク、その他のシステム構成などを記述するテキストベースのKickstartファイルを作成します。Kickstartの一般的なアーキテクチャでは、PXEを使用してネットワークから起動するクライアントで、BOOTP/DHCPを使用してブート・イメージとKickstartファイルを使用可能にします。詳しくは、Red Hatのカスタマ・ポータルを参照してください。

自動インストーラは、クライアントがそれ自体をネットワーク経由でプロビジョニングする方法に関しては、Kickstartと同様のアーキテクチャを備えています。自動インストーラの1つのメリットは、ベアメタル・サーバーのインストールの一部としてOracle Solaris Zonesと呼ばれる仮想環境を作成して、それらを個別のネットワーク構成、ソフトウェア選択、および委任管理によってプロビジョニングできることです。

追加のタスク

  • デフォルトでは、自動インストーラ・クライアントは、group/system/solaris-large-serverグループ・パッケージを使用して、ほとんどのサーバー環境に役立つソフトウェアをインストールします。最小化されたサーバー・インストール用のgroup/system/solaris-small-serverグループ・パッケージをインストールするように、マニフェストを修正します。
  • 特定のインストール・サービスによってシステム構成プロファイルが提供されない場合、再起動時にテキストベースのグラフィカル・インタフェースが表示され、ホスト名、ネットワークの詳細情報、タイムゾーンなどのシステム構成に関するいくつかの情報の入力を求められます。追加のタスクとして、静的IPアドレスを構成するシステム構成プロファイルをsolarisサービスに追加します。ヒント:/usr/share/auto_install/sc_profiles/static_network.xmlにあるプロファイルを調べてください。
  • 自動インストーラは、ベアメタル・クライアントのインストールの一部として仮想環境(Oracle Solaris Zones)をプロビジョニングできます。非大域ゾーンの作成を含むように、solarisサービスを修正します。

演習2:ソフトウェアのパッケージ化

Oracle Solaris 11では、Image Packaging Systemと呼ばれる新しいパッケージ・システムが使用されます。これは、ネットワークベースのパッケージ・システムです。クライアント・システムは、インストール元となるローカルまたはリモート接続されたパッケージ・リポジトリに接続します。各パッケージ・リポジトリには、複数のパブリッシャを格納できます。これらのパブリッシャは、ソフトウェアをインストールに使用できるようにすることを担当する個人またはグループです。

パッケージのインストール、検索、および削除

"Oracle Solaris 11"仮想マシンを使用し、pkgコマンドによって、このシステムで構成されているパブリッシャを調べましょう。

root@solaris:~# pkg publisher
PUBLISHER                   TYPE     STATUS P LOCATION
solaris                     origin   online F http://192.168.1.222/

http://192.168.1.222のアドレスによって構成されている1人のパブリッシャが存在します。これは、この仮想マシンのIPアドレスと一致します。つまり、これは、ローカル・パッケージ・リポジトリです。

gitと呼ばれる広く使用されているソース・コード管理ユーティリティを検索しましょう。pkg searchコマンドで-pオプションを使用することにより、検索をパッケージ名に限定できます。


root@solaris:~# pkg search -p git
PACKAGE                                                PUBLISHER
pkg:/developer/versioning/git@1.7.9.2-0.175.1.0.0.24.0 solaris

では、パッケージをインストールしましょう。

root@solaris:~# pkg install git
           Packages to install:  1
       Create boot environment: No
Create backup boot environment: No
            Services to change:  1

DOWNLOAD                                PKGS         FILES    XFER (MB)   SPEED
Completed                                1/1       334/334      8.5/8.5  933k/s

PHASE                                          ITEMS
Installing new actions                       496/496
Updating package state database                 Done 
Updating image state                            Done 
Creating fast lookup database                   Done 
root@solaris:~# which git
/usr/bin/git


今回は、合計8.5MBサイズの1つのパッケージが正常にインストールされました。pkg contentsコマンドを使用してパッケージの内容を確認できます。

root@solaris:~# pkg contents git
PATH
usr
usr/bin
usr/bin/git
usr/bin/git-cvsserver
usr/bin/git-receive-pack
usr/bin/git-shell
usr/bin/git-upload-archive
usr/bin/git-upload-pack
usr/bin/gitk
...
usr/share/man/man5/gittutorial-2.5
usr/share/man/man5/gittutorial.5
usr/share/man/man5/gitworkflows.5

また、pkg infoコマンドを使用すると、このパッケージに関するより詳しい情報が得られます。

root@solaris:~# pkg info git
          Name: developer/versioning/git
       Summary: git - Fast Version Control System
   Description: Git is a free & open source, distributed version 
                control system designed to handle everything from
                small to very large projects with speed and efficiency.
      Category: Development/Source Code Management
         State: Installed
     Publisher: solaris
       Version: 1.7.9.2
 Build Release: 5.11
        Branch: 0.175.1.0.0.24.0
Packaging Date: September  4, 2012 05:17:20 PM 
          Size: 22.89 MB
          FMRI: pkg://solaris/developer/versioning/git@1.7.9.2,5.11-0.175.1.0.0.24.0:20120904T171720Z

パッケージのアンインストールは、次のように、簡単に行えます。

root@solaris:~# pkg uninstall git
            Packages to remove:  1
       Create boot environment: No
Create backup boot environment: No
            Services to change:  1

PHASE                                          ITEMS
Removing old actions                         497/497
Updating package state database                 Done 
Updating package cache                           1/1 
Updating image state                            Done 
Creating fast lookup database                   Done 
root@solaris:~# which git

no git in /usr/sbin /usr/bin

システムの更新

Oracle Solaris 11でのシステムの更新は、リスト1のように、pkg updateコマンドを使用して簡単に行えます。
root@solaris:~# pkg update
            Packages to remove:   1
            Packages to update: 147
           Mediators to change:   1
       Create boot environment: Yes
Create backup boot environment:  No

DOWNLOAD                                PKGS         FILES    XFER (MB)   SPEED
Completed                            148/148     5913/5913  285.6/285.6

PHASE                                          ITEMS
Removing old actions                         921/921
Installing new actions                     2245/2245
Updating modified actions                  6967/6967
Updating package state database                 Done 
Updating package cache                       148/148 
Updating image state                            Done 
Creating fast lookup database                   Done 

A clone of solaris exists and has been updated and activated.
On the next boot the Boot Environment solaris-1 will be
mounted on '/'.  Reboot when ready to switch to this updated BE.


----------------------------------------------------------------------
NOTE: Please review release notes posted at:

http://www.oracle.com/pls/topic/lookup?ctx=E26502&id=SERNS
----------------------------------------------------------------------

リスト1

リスト1の出力結果から分かるとおり、solaris-1という新しいブート環境(BE)が作成されています。これは、既存のファイル・システムがクローン化され、実行中のシステムではなくクローンに更新が適用されたことを意味します。リポジトリにある使用可能な更新に応じて、更新されたパッケージの表示数が異なる場合があります。

リスト2のように、beadmコマンドを使用することによって、これらのブート環境を調べることができます。

root@solaris:~# beadm list
BE        Active Mountpoint Space  Policy Created          
--        ------ ---------- -----  ------ -------          
solaris   N      /          10.04M static 2013-07-23 12:08 
solaris-1 R      -          4.58G  static 2013-08-02 02:19

リスト2

リスト2でいくつか分かることがあります。まず、現在、/にマウントされているsolarisというアクティブなブート環境があります。pkg updateコマンドの実行時に作成された新しいブート環境であるsolaris-1は、アクティブ化されており、再起動後にデフォルトのブート環境になります。再起動時にsolaris-1をアクティブ化しない場合は、beadm activateコマンドを使用してブート環境を変更し、元に戻すことができます。

root@solaris:~# beadm activate solaris
root@solaris:~# beadm list
BE        Active Mountpoint Space   Policy Created          
--        ------ ---------- -----   ------ -------          
solaris   NR     /          3.86G   static 2013-07-23 12:08 
solaris-1 -      -          982.09M static 2013-08-02 02:19

また、ブート環境のサイズが異なることが分かります。この相違は、基盤となるZFSファイル・システムおよびそのCopy-On-Write機能の結果です。ZFSは、ファイル・システムの内容の完全なコピーではなく、2つのブート環境の差分だけを格納します。

この新しいブート環境の内容を確認する場合は、それをマウントするだけで、ファイル・システムを確認して、もう一度アンマウントすることができます。

root@solaris:~# beadm mount solaris-1 /mnt

root@solaris:~# ls /mnt
bin     devices  kernel      net         proc        sbin        usr
boot    etc      lib         nfs4        repository  share       var
cdrom   export   media       opt         root        system
dev     home     mnt         platform    rpool       tmp
root@solaris:~# beadm unmount solaris-1

ブート環境は、システムを更新するときにだけ使用されるわけではありません。ベスト・プラクティスとして、管理上の変更を実施するときにブート環境を使用することもできます。たとえば、ネットワークにいくつかの高度な構成変更を加えるとします。変更前にブート環境を作成しておくと、問題が発生した場合に完全なフォールバック環境を使用できます。

新しいブート環境を作成するには、リスト3のように、beadm createコマンドを使用します。

root@solaris:~# beadm create before-network-change

root@solaris:~# beadm list
BE                    Active Mountpoint Space   Policy Created          
--                    ------ ---------- -----   ------ -------          
before-network-change -      -          73.0K   static 2013-08-02 02:46 
solaris               NR     /          3.86G   static 2013-07-23 12:08 
solaris-1             -      -          982.09M static 2013-08-02 02:19

リスト3

リスト3から、新しいブート環境を作成するために使用される領域はごくわずかであることが分かります。

ご存じですか

Red Hat Enterprise Linuxでは、パッケージの管理にRPMとyumが使用されます。RPMはソフトウェア・パッケージ化のための基本形式であり、yumによってこれらのパッケージのリモート・パッケージ・リポジトリからのインストールがサポートされます。また、yumは、スナップショット/ロールバック、デルタRPMパッケージ、パッケージ保護などの追加機能を提供する複数のプラグインをサポートする機能も提供します。詳しくは、Red Hatのカスタマ・ポータルを参照してください。

Red Hat Enterprise Linuxシステムの管理経験がある管理者であれば、Oracle Solaris 11でImaging Package Systemを使用すると簡単だと思います。パッケージ管理ユーティリティがリポジトリからのパッケージのインストールをサポートすることと、それらがソフトウェア依存性の自動チェック機能を提供することにより、どちらのオペレーティング・システムでもソフトウェアを簡単かつ迅速にインストールできます。

Imaging Package System独自のメリットの一つとして、パッケージ更新を実行できるZFSブート環境(ファイル・システムのスナップショットおよびクローン)を作成する機能があります。これにより、本番アプリケーションを動作させたままシステム更新を実行した後、計画的なメンテナンス時間がスケジュールされると、新しいブート環境を迅速に起動できます。更新後に問題が発生した場合は、古いブート環境をすぐに再起動して元に戻すことができます。この機能はyumでも提供されますが(LVMボリューム・マネージャまたはBtrfsファイル・システムを使用)、デフォルトでは構成されておらず、使いやすい管理インタフェースと十分に統合されてもいません。Image Packaging Systemでは、Oracle Solaris Zones仮想環境のソフトウェアを管理することもできます。これにより、確実に、パッケージの整合性が維持され、更新が並行して適用されます。

追加のタスク

  • Image Packaging Systemは、パッケージ・リポジトリで保持されるレコードに基づいて壊れたパッケージを修復する機能を提供します。パッケージの内容の一部を削除してパッケージを壊してみてください。その後に、そのパッケージの修復を試みてください。
  • 各パッケージの背後には、パッケージの名前、バージョン、および内容と依存関係が記述されたパッケージ・マニフェストがあります。compress/gzipパッケージを個別のパッケージ・リポジトリで再公開して、/usr/binにあるファイルだけを挿入してください。ヒント:pkgrepopkgsend、およびpkgrecvコマンドを調べてください。

演習3:ファイル・システム

Oracle Solaris 11のデフォルトのファイル・システムはZFSです。ZFSは、ソフトウェアRAID、暗号化、スナップショット/クローン機能といったさまざまなデータ・サービスを提供する、統合されたファイル・システムおよびボリューム・マネージャです。ZFSの基本的な長所の一つは、発見されにくいデータ破損を防ぎ、データの整合性を維持する機能です。

仮想ストレージ・プールとデータセットの作成

従来のファイル・システム(単一のデバイス上に存在するために複数のデバイスがある場合にはボリューム・マネージャを使用する必要がある)とは異なり、ZFSファイル・システムは、zpoolと呼ばれる仮想ストレージ・プールの上に構築されます。リスト4のように、zpool listコマンドを使用することによって、システムで使用可能なzpoolを調べることができます。

root@solaris:~# zpool list

NAME   SIZE  ALLOC   FREE  CAP  DEDUP  HEALTH  ALTROOT
rpool   20G  15.1G  4.87G  75%  1.00x  ONLINE  -

リスト4

リスト4から分かるとおり、rpoolという1つのzpoolがあります。zpool statusコマンドを使用してこのzpoolの詳細を調べてみましょう。

root@solaris:~# zpool status rpool
  pool: rpool
 state: ONLINE
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        rpool       ONLINE       0     0     0
        c7t0d0      ONLINE       0     0     0

errors: No known data errors

リスト5

リスト5から、このzpoolが、/dev/dsk/c7t0d0にあるディスクを表す仮想デバイスに接続されていることが分かります。Oracle Solarisでは、論理コントローラ数、物理バス・ターゲット数、ドライブ数、およびスライス(またはパーティション)数を示すcWtXdYsZというデバイス・ネーミング規則が使用されます。

使用する物理ストレージ・デバイスが分かっていれば、新しいzpoolを簡単に作成できます。今回は、formatコマンドを使用して使用可能なデバイスを調べた後に、zpool createコマンドを使用して新しいzpoolを作成します。ここではまだディスクの選択に物理的な変更を加えず、それらのリストを表示するだけなので、echoを使用してこのコマンドを結び付けます。

root@solaris:~# echo | format
Searching for disks...done


AVAILABLE DISK SELECTIONS:
       0. c7t0d0 <ATA-VBOX HARDDISK-1.0-20.30GB>
          /pci@0,0/pci8086,2829@d/disk@0,0
       1. c7t2d0 <ATA-VBOX HARDDISK-1.0-16.00GB>
          /pci@0,0/pci8086,2829@d/disk@2,0
Specify disk (enter its number): Specify disk (enter its number): 
root@solaris:~# zpool create mypool c7t2d0
root@solaris:~# zpool list

NAME     SIZE  ALLOC   FREE  CAP  DEDUP  HEALTH  ALTROOT
mypool  15.9G   152K  15.9G   0%  1.00x  ONLINE  -
rpool     20G  15.1G  4.87G  75%  1.00x  ONLINE  -
root@solaris:~# zpool status mypool
  pool: mypool
 state: ONLINE
  scan: none requested
config:

        NAME      STATE     READ WRITE CKSUM
        mypool    ONLINE       0     0     0
          c7t2d0  ONLINE       0     0     0

errors: No known data errors

これらのストレージ・プールに含まれるデータセットのリストを表示するには、リスト6のように、zfs listコマンドを使用します。

root@solaris:~# zfs list
NAME                                    USED  AVAIL  REFER  MOUNTPOINT
mypool                                   85K  15.6G    31K  /mypool
rpool                                  15.2G  4.50G  4.58M  /rpool
rpool/ROOT                             3.72G  4.50G    31K  legacy
rpool/ROOT/before-network-changes        72K  4.50G  2.09G  /
rpool/ROOT/before-network-changes/var     1K  4.50G   122M  /var
rpool/ROOT/solaris                     2.80G  4.50G  2.09G  /
rpool/ROOT/solaris-1                    951M  4.50G  2.15G  /
rpool/ROOT/solaris-1/var               31.5M  4.50G   404M  /var
rpool/ROOT/solaris/var                  503M  4.50G   122M  /var
rpool/VARSHARE                           58K  4.50G    58K  /var/share
rpool/dump                              792M  4.53G   768M  -
rpool/export                            326M  4.50G   326M  /export
rpool/export/home                        70K  4.50G    32K  /export/home
rpool/export/home/ouser                  38K  4.50G    38K  /export/home/ouser
rpool/repository                       9.33G  4.50G  9.33G  /repository
rpool/swap                             1.03G  4.54G  1.00G  -

リスト6

リスト6から分かるとおり、ここには、pool/{filesystem,volume,snapshot}によって定義されるZFSデータセットがいくつかあります。新しく作成したzpool(mypool)については、ZFSによってmypoolの上にファイル・システムが自動的に作成され、このファイル・システムが/mypoolにマウントされています。mypoolの下に別のファイル・システムを作成するには、リスト7のように、zfs createコマンドを使用します。
root@solaris:~# zfs create mypool/mydataset

root@solaris:~# zfs create mypool/dbdata
root@solaris:~# zfs list -r mypool
NAME              USED  AVAIL  REFER  MOUNTPOINT
mypool            162K  15.6G    33K  /mypool
mypool/dbdata      31K  15.6G    31K  /mypool/dbdata
mypool/mydataset   31K  15.6G    31K  /mypool/mydataset

リスト7

リスト7では、2つの追加のファイル・システム(mydatasetdbdata)を作成した後に、mypool上のすべてのデータセットのリストを表示しています。

リスト8のように、mypool/mydatasetファイル・システムに1GBのファイルを作成し、このファイルをクローン化して、ファイルのサイズを比較しましょう。

root@solaris:~# mkfile 1g /mypool/mydataset/foobar
root@solaris:/mypool/mydataset# zfs list -r mypool
NAME               USED  AVAIL  REFER  MOUNTPOINT
mypool            1.00G  14.6G    33K  /mypool
mypool/dbdata       31K  14.6G    31K  /mypool/dbdata
mypool/mydataset  1.00G  14.6G  1.00G  /mypool/mydataset
root@solaris:/mypool/mydataset# zfs snapshot mypool/mydataset@today
root@solaris:/mypool/mydataset# zfs clone mypool/mydataset@today \ 

mypool/newdataset
root@solaris:/mypool/mydataset# zfs list -r mypool
NAME                USED  AVAIL  REFER  MOUNTPOINT
mypool             1.00G  14.6G    34K  /mypool
mypool/dbdata        31K  14.6G    31K  /mypool/dbdata
mypool/mydataset   1.00G  14.6G  1.00G  /mypool/mydataset
mypool/newdataset    18K  14.6G  1.00G  /mypool/newdataset

リスト8

ZFSデータセットをクローン化するには、まず、zfs snapshotコマンドを使用してデータセットのスナップショットを作成し、このスナップショットにtodayという名前を付ける必要があります。ZFSスナップショットとは、ファイル・システムまたはボリュームの読取り専用のコピーのことです。スナップショットを作成したら、そのスナップショットをクローン化して新しいデータセットを作成します。ZFSクローンは、スナップショットからのみ作成できる書込み可能なファイル・システムまたはボリュームです。リスト8の出力結果から分かるとおり、mypool/newdatasetは、ZFSのCopy-On-Write機能により、わずか18Kの領域しか使用しません。

ご存じですか

Red Hat Enterprise Linuxは、ext3、ext4、XFS、BTRFSといったさまざまなファイル・システムをサポートしています。ext3、ext4、およびXFSファイル・システムは、ディスクの割当て、ストライプ化、ミラー化、および論理ボリュームのサイズ変更のために使用される論理ボリューム・マネージャを必要とする従来のファイル・システムです。BTRFSは、統合されたボリューム管理機能を備えた新しいファイル・システムですが、テクノロジー・プレビュー版のみと考えられます。詳しくは、Red Hatのカスタマ・ポータルを参照してください。

ZFSが持つ2つの大きな差別化要因として、使いやすさとさまざまな統合データ・サービスがあります。コマンドライン・インタフェースは1組(zfszpool)だけですが、管理者は、ディスクをミラー化し、高度なソフトウェアRAID構成をセットアップし、圧縮や暗号化を有効化し、データセンター全体にわたってデータを移行することができます。ZFSは、その継続的整合性チェック機能や自動修復機能により、最新のファイル・システムをリードしています。

ZFSによるデータの暗号化

ZFSの最後の例として、暗号化されたデータセットを作成しましょう。暗号化は、データセットの作成時に有効にする必要があります。データセットの作成後に有効化することはできません。再び、zfs createコマンドを使用し、暗号化プロパティをonに設定します。

root@solaris:/mypool/mydataset# zfs create -o encryption=on \ 
mypool/myprivatedataset

Enter passphrase for 'mypool/myprivatedataset': solaris11
Enter again: solaris11

これで、データセットが暗号化されました。リスト9のように、mypool zpoolをエクスポートして別のシステムにインポートするとどうなるでしょうか。

root@solaris:~# zpool export mypool

root@solaris:~# zpool list
NAME   SIZE  ALLOC   FREE  CAP  DEDUP  HEALTH  ALTROOT
rpool   20G  15.1G  4.87G  75%  1.00x  ONLINE  -
root@solaris:~# zpool import mypool
Enter passphrase for 'mypool/myprivatedataset': solaris11
root@solaris:~# zpool list
NAME     SIZE  ALLOC   FREE  CAP  DEDUP  HEALTH  ALTROOT
mypool  15.9G  1.00G  14.9G   6%  1.00x  ONLINE  -
rpool     20G  15.1G  4.87G  75%  1.00x  ONLINE  -

リスト9

リスト9では、zpoolを同じシステムにインポートして戻していますが、データセットが使用可能になる前にパスワードの入力を求められていることに注意してください。

追加のタスク

  • ZFSは、使用可能なディスクに基づいてzpoolをミラー化する機能を提供します。mypoolを破棄し、/dev/dsk/c7t2d0ディスクを使用してrpoolをミラー化してみてください。
  • /mypool/myprivatedataにランダムなファイルを作成して、プールをエクスポートし、間違ったパスフレーズを使用してインポートしてください。作成したファイルは、どうなりましたか。
  • ZFSは、データセットの圧縮をサポートしています。データセットの圧縮を有効にして、実現される圧縮率を確認してください。

演習4:ネットワーク

Oracle Solaris 11は、ネットワークを構成するための一連の統合管理ツールを備えています。DHCPによる非常に単純な自動ネットワーク構成から、ブリッジング、リンク・アグリゲーション、仮想LAN、IPトンネリング、さまざまなネットワーク・ファブリック間のファイアウォールといったより複雑な構成までを、わずかな数のコマンドライン・インタフェースで実行できます。

Oracle Solaris 11のネットワーク・コマンドは、dladmipadmによって、データリンク・レイヤー(レイヤー2)での管理とIPレイヤー(レイヤー3)での管理に分割されています。

:互換性を確保するためにifconfigが依然として使用可能になっていますが、Oracle Solaris 11ではこのコマンドを使用しないことを推奨します。

静的IPアドレスの構成

最初に、使用できる物理ネットワーク・インタフェースを調べましょう。dladm show-physコマンドを使用します。

root@solaris:~# dladm show-phys
LINK         MEDIA                STATE      SPEED  DUPLEX    DEVICE
net1         Ethernet             unknown    0      unknown   e1000g1
net0         Ethernet             up         1000   full      e1000g0

Oracle Solaris 11では、基盤となるネットワーク・デバイスの名前のエイリアシングされたリンク名を使用して抽象化します。ここでは、net1リンクの静的IPアドレスを構成します。

まず、このリンクについて、IPv4とIPv6の両方を処理できるIPインタフェースを作成する必要があります(ただし、このハンズオン・ラボではIPv4アドレスについてのみ説明します)。ipadm create-ipコマンドを使用する必要があります。

root@solaris:~# ipadm create-ip net1
root@solaris:~# ipadm show-if net1
IFNAME     CLASS    STATE    ACTIVE OVER
net1       ip       down     no     --

IPインタフェースを作成したら、ipadm create-addrコマンドを使用してこのインタフェースのアドレスを作成する必要があります。

root@solaris:~# ipadm create-addr -T static -a 192.168.2.111 net1/v4
root@solaris:~# ipadm show-addr net1/v4
ADDROBJ           TYPE     STATE        ADDR
net1/v4           static   ok           192.168.2.111/24
root@solaris:~# ipadm show-if net1
IFNAME     CLASS    STATE    ACTIVE OVER
net1       ip       ok       yes    --

動的IPアドレスの構成

DHCPによるネットワーク・インタフェースの構成は、静的IPアドレスを構成したときの手順と非常によく似ています。まず、net1の現在のIPアドレスを削除し、次に、DHCPサーバーにアドレスの割当てを要求しましょう。

root@solaris:~# ipadm delete-addr net1/v4
root@solaris:~# ipadm create-addr -T dhcp net1/v4
root@solaris:~# ipadm show-addr net1/v4
ADDROBJ           TYPE     STATE        ADDR
net1/v4           dhcp     ok           192.168.1.21/24
root@solaris:~# ipadm show-if net1
IFNAME     CLASS    STATE    ACTIVE OVER
net1       ip       ok       yes    --

仮想ネットワークの構成

VNIC(仮想ネットワーク・インタフェース・コントローラ)は、見た目も動作も物理ネットワーク・インタフェースに似ています。VNICは、dladm create-vnicコマンドを使用して、任意の物理ネットワーク・インタフェースを介して作成できます。

root@solaris:~# dladm create-vnic -l net1 vnic1
root@solaris:~# dladm show-vnic
LINK        OVER         SPEED  MACADDRESS        MACADDRTYPE       VID
vnic1       net1         1000   2:8:20:f7:a2:13   random            0

続いて、以前の手順と同じように、IPインタフェースを作成し、静的IPアドレスを割り当てます。


root@solaris:~# ipadm create-ip vnic1
root@solaris:~# ipadm create-addr -T static -a 192.168.2.112 vnic1/v4
root@solaris:~# ipadm show-addr vnic1/v4
ADDROBJ           TYPE     STATE        ADDR
vnic1/v4          static   ok           192.168.2.112/24
root@solaris:~# ipadm show-if vnic1
IFNAME     CLASS    STATE    ACTIVE OVER
vnic1      ip       ok       yes    --

DNSの構成

Oracle Solaris 11では、DNS構成がサービス管理機能リポジトリに格納されるようになりました。サービス管理機能サービス(network/dns/client)によって、従来は/etc/resolv.confにあった構成情報が管理され、system/name-service/switchによって、従来は/etc/nsswitch.confにあった構成情報が管理されます。どちらの場合も、互換性のために、これらのファイルが保持されます。

DNS構成を構成するには、svccfgを使用して構成プロパティを設定してから、svcadm refreshを使用する必要があります。


root@solaris:~# svccfg -s svc:/network/dns/client setprop config/nameserver=net_address: '(192.168.1.1)'
root@solaris:~# svcadm refresh network/dns/client
root@solaris:~# svcadm enable network/dns/client
root@solaris:~# svccfg -s system/name-service/switch setprop config/default = '"files dns"'
root@solaris:~# svcadm refresh system/name-service/switch


このハンズオン・ラボでは、インターネットに接続しないプライベートOracle VM VirtualBoxネットワークを使用しているため、DNS構成については、あまり詳しく説明しません。

ご存じですか

Red Hat Enterprise Linuxのネットワーク機能の大部分は、NetworkManagerを使用してグラフィカル・インタフェースで操作します。コマンドラインによる操作については、/etc/sysconfig/network-scriptsにあるいくつかのスクリプトとインタフェースを使用して実行されます。Red Hat Enterprise Linuxは、ブリッジング、ボンディング、vLANといったさまざまなネットワーク構成をサポートしています。詳しくは、Red Hatのカスタマ・ポータルを参照してください。

Oracle Solaris 11は、統合されたネットワーク管理機能を備えています。わずかな数のコマンドライン・インタフェースを使用することで、管理者は、ブリッジング、vLAN、リンク・アグリゲーション、IPMP、IPトンネリング、InfiniBandといったレイヤー2とレイヤー3の両方のネットワーク機能を管理できます。仮想ネットワークの追加により、管理者は、単一のサーバーで複雑なネットワーク・トポロジをモデル化できるようになります。これにより、多くの場合、高価なネットワーク・ハードウェアを追加する必要がなくなります。

追加のタスク

  • Oracle Solaris 11のネットワーク機能は、ネットワーク・インタフェースからのリンク・アグリゲーションの構成をサポートします。IPアドレス192.168.1.200で集約されるようにnet0net1を構成してください。
  • 作成したVNIC(vnic1)の最大帯域幅を10Mに設定してください。また、このVNICをゾーン(myzone)に割り当てて、このリソースを設定することによる影響を確認してください。ヒント:まず、仮想化の演習を完了する必要がある場合があります。

演習5:ユーザー管理

Oracle Solaris 11の最大の相違点の一つは、従来のrootアカウントがデフォルトで存在しないことです。この変更はセキュリティ上の理由(複数ユーザー環境におけるアカウンタビリティの欠如)から実施されました。rootアカウントをデフォルトでロールとすることにより、管理者は、通常のユーザー・アカウントでログインした後に、追加の権限を取得します。

ロールは、実際のユーザーではなく機能的責任に対応する特別なアカウントです。各ユーザーは、ロールを持たないか、1つ以上のロールを持つことができます。ロールでは、プライマリ・ユーザーとしてシステムにログインできません。代わりに、ユーザーがロールを持つ必要があります。

では、rootが実際にロールであることを確認することから始めましょう。


root@solaris:~# userattr type root
role

ここで、リスト10のように、ouserに割り当てられているロールを確認することができます。

ouser@solaris:~$ roles ouser
root

リスト10

リスト10から、ouserrootロールが割り当てられていることが分かります。これは、Oracle Solaris 11インストールの一部として作成される最初のユーザー・アカウントに関するデフォルトの動作です。

ロールベース・アクセス制御(RBAC)は、Oracle Solaris 11におけるユーザー管理の基盤です。権限は、たとえば、rootとしてrebootを実行するといったように、権利を与えられたユーザーとして実行可能なコマンドを実行するための特権です。

認証は、特定のハードウェアへのアクセスなどのように、セキュリティに影響する可能性のある種の動作をユーザーまたはロールが実行することを可能にする特権です。

権限プロファイルは、ユーザーまたはロールに割り当てることのできる管理機能の集合です。権限プロファイルは、認証、セキュリティ属性を持つコマンド、およびその他の権限プロファイルで構成できます。profilesコマンドを使用すると、ユーザーに割り当てられているプロファイルのリストを表示できます。

root@solaris:~# profiles ouser
          System Administrator
          Audit Review
          Extended Accounting Flow Management
          acctadm
....
          CPU Power Management
          Basic Solaris User
          All

リスト11のように、profilesコマンドに-pおよび-lオプションを使用することにより、プロファイルをもう少し詳しく調べて、各権限プロファイルに関連付けられている実行可能コマンドと、その他の特別な属性(ユーザー、グループIDなど)のリストを表示することができます。

root@solaris:~# profiles -p 'System Administrator' info
      name=System Administrator
      desc=Can perform most non-security administrative tasks
	profiles=Audit Review,Extended Accounting Flow Management,Extended Accounting Net 
    Management,Extended Accounting Process Management,Extended Accounting Task 
    Management,Printer Management,Cron Management,Device Management,File System 
    Management,Log Management,Mail Management,Maintenance and Repair,Media Backup,Media 
    Catalog,Media Restore,Name Service Management,Network Management,Object Access 
    Management,Process Management,Project Management,RAD Management,Service 
    Operator,Shadow Migration Monitor,Software Installation,System Configuration,User 
    Management,ZFS Storage Management,Install Service Management
      help=RtSysAdmin.html 

リスト11

リスト11から、System Administrator権限プロファイルに他のプロファイルがいくつか関連付けられていることが分かります。リスト12のように、Install Service Management権限プロファイルを調べましょう。

root@solaris:~# profiles -p 'Install Service Management' info
	name=Install Service Management
	desc=Install Service Administration
	auths=solaris.autoinstall.service
	profiles=Install Manifest Management,Install Profile Management,Install Client Management

リスト12

リスト12から、solaris.autoinstall.serviceの認証とともに3つのプロファイルがこのプロファイルに関連付けられていることが分かります。

では次に、リスト13のように、Install Profile Managementプロファイルを調べましょう。

root@solaris:~# profiles -p 'Install Profile Management' info
	name=Install Profile Management
	desc=Install System Configuration Profile Administration
	auths=solaris.autoinstall.profile
	cmd=/usr/sbin/installadm

リスト13

このリスト13から、このプロファイルがinstalladmコマンドに関連付けられていることが分かります。

新しいユーザーの追加

ロール、プロファイル、および認証の基本を確認したので、testuserという新しいユーザー・アカウントを作成しましょう。-mオプションを使用して、/export/homeにマウントされるZFSデータセットを自動的に作成します。

root@solaris:~# useradd -m testuser

root@solaris:~# id testuser
uid=101(testuser) gid=10(staff)

このアカウントに適用されているロールとプロファイルを調べましょう。

root@solaris:~# roles testuser
No roles
root@solaris:~# profiles testuser
testuser:
          Basic Solaris User
          All

最初は、基本的な権限プロファイルだけが、ユーザーまたはロールとしてコマンドを実行できる機能とともに割り当てられます。

ユーザーへの権限プロファイルの追加

リスト14のように、testuserユーザーとしてログインし、新しい自動インストーラ・サービスを追加するコマンドを実行してみましょう。

root@solaris:~# su - testuser
Oracle Corporation	SunOS 5.11	11.1	September 2012
-bash-4.1$ /usr/sbin/installadm create-service -n new-service
Insufficient permissions to perform operation.
Authorization <solaris.autoinstall.service> required to perform this operation.

リスト14

リスト14から分かるとおり、このユーザーには必要な認証がありません。ここで、これらを追加しましょう。usermodコマンドを-Pオプションとともに使用して、Install Service Management権限プロファイルを追加してください。

-bash-4.1$ exit
logout
root@solaris:~# usermod -P +'Install Service Management' testuser
root@solaris:~# profiles testuser

testuser:
          Install Service Management
          Install Manifest Management
          Install Profile Management
          Install Client Management
          Basic Solaris User
          All

ここで、リスト15のように、アカウントにログインしなおして、もう一度コマンドの実行を試してみましょう。

root@solaris:~# su - testuser
Oracle Corporation	SunOS 5.11	11.1	September 2012
-bash-4.1$ /usr/sbin/installadm create-service -n new-service
Insufficient permission to perform operation.
euid required to be 0 to perform this operation.

リスト15

リスト15では、まだエラー・メッセージが表示されています。これは、特権をエスカレーションする必要があるためです。

-bash-4.1$ pfexec /usr/sbin/installadm create-service -n new-service
Warning: Service svc:/network/dns/multicast:default is not online.
   Installation services will not be advertised via multicast DNS.

Creating service from: pkg:/install-image/solaris-auto-install
OK to use default image path: /export/auto_install/new-service? [y/N]: y
DOWNLOAD                       PKGS         FILES    XFER (MB)   SPEED
Completed                       1/1       514/514  294.3/294.3  7.6M/s

PHASE                                          ITEMS
Installing new actions                       662/662
Updating package state database                 Done 
Updating image state                            Done 
Creating fast lookup database                   Done 
Reading search index                            Done 
Updating search index                            1/1 

Creating i386 service: new-service

Image path: /export/auto_install/new-service

Refreshing install services
Warning: mDNS registry of service new-service could not be verified.
-bash-4.1$ /usr/sbin/installadm list

Service Name Alias Of Status  Arch   Image Path 
------------ -------- ------  ----   ---------- 
default-i386 solaris  on      i386   /export/auto_install/solaris
new-service  -        on      i386   /export/auto_install/new-service
solaris      -        on      i386   /export/auto_install/solaris
-bash-4.1$ exit
logout
root@solaris:~#

以上が、Oracle Solaris 11のごく基本的なユーザー管理(ロール、認証、権限プロファイルなど)の説明です。

ご存じですか

Red Hat Enterprise Linuxは、SELinuxと呼ばれるLinuxカーネルの拡張機能を備えています。これにより、ほとんどのLinuxおよびUNIXオペレーティング・システムで使用できる"任意アクセス制御"アーキテクチャの一般的なユーザー、グループ、およびその他の特権に加えて、システムにおけるファイル、プロセス、ユーザー、およびアプリケーションのきめ細かな制御を可能にする強制アクセス制御(MAC)アーキテクチャが実装されます。SELinuxは、RBACのサポートと非常にきめ細かな管理方法も提供します。詳しくは、Red Hatのカスタマ・ポータルを参照してください。

Oracle Solaris Trusted Extensionsは、デバイス・アクセス、ファイル/ユーザー管理、ネットワーク、監査、およびその他のサービスを含むオペレーティング・システムのあらゆる側面に対応する強制アクセス制御モデルと特長とするセキュリティ拡張機能セットです。この拡張機能は、機密性ラベルをオブジェクトに追加することにより、これらのオブジェクト間に明示的な関係を確立することで実現されます。SELinuxは、より柔軟できめ細かな方法を提供しますが、一般に、オペレーティング・システムに関する非常に深い知識を必要とし、構成することが容易ではありません。

追加のタスク

  • testuserアカウントに認証を追加して、network/http:apache22サービス管理機能(SMF)を有効化または無効化してください。 ヒント:solaris.smf.manage.*の認証を確認し、サービス構成プロパティ内で適切な認証を追加します。
  • Install Service Management権限プロファイルとSoftware Installation権限プロファイルの両方の管理を含む新しい権限プロファイルを追加し、この権限プロファイルを新しいユーザーに割り当ててください。

演習6:サービス

Oracle Solaris 11では、サービス管理機能を使用して、システム上のアプリケーションとシステム・サービスを管理します。サービス管理機能により、管理者は、サービスを有効化/無効化することができ(サービスの依存関係を含む)、ハードウェアまたはソフトウェアに障害が発生したときにサービスを自動的に再起動することもできます。

アプリケーションおよびシステム・サービスの表示

サービス管理機能で管理されているサービスは、svcsコマンドを使用して表示できます。

root@solaris:~# svcs
STATE          STIME    FMRI
legacy_run      2:06:12 lrc:/etc/rc2_d/S47pppd
legacy_run      2:06:12 lrc:/etc/rc2_d/S81dodatadm_udaplt
legacy_run      2:06:13 lrc:/etc/rc2_d/S89PRESERVE
disabled        2:06:34 svc:/system/ocm:default
disabled       14:05:08 svc:/platform/i86pc/acpihpd:default
online          2:05:39 svc:/application/virtualbox/vboxmslnk:default
online          2:05:39 svc:/application/virtualbox/vboxservice:default
online          2:05:39 svc:/system/power:default
online          2:05:39 svc:/network/shares:default
online          2:05:40 svc:/application/cups/scheduler:default
...
online         14:05:35 svc:/system/filesystem/local:default
online         14:05:36 svc:/system/boot-loader-update:default
online         14:05:36 svc:/system/cron:default
online         14:05:36 svc:/system/filesystem/ufs/quota:default

svcsコマンドにより、レガシー・サービス、一時的に無効化(次回再起動時まで)されているサービス、およびオンライン・サービスのすべてが表示されます。場合により、異なるポートでリスニングする複数のWebサービスのように、異なる基盤構成を持つ同じサービスの複数のインスタンスが表示されることがあります。

永続的に無効化されているサービスを含め、より多くのサービスが表示されるように、svcsコマンドに-aオプションを使用します。

root@solaris:~# svcs -a
STATE          STIME    FMRI
legacy_run      2:06:12 lrc:/etc/rc2_d/S47pppd
legacy_run      2:06:12 lrc:/etc/rc2_d/S81dodatadm_udaplt
legacy_run      2:06:13 lrc:/etc/rc2_d/S89PRESERVE
disabled        2:05:55 svc:/application/cups/in-lpd:default
disabled        2:05:55 svc:/network/rpc/rstat:default
disabled        2:05:55 svc:/network/shell:default
disabled        2:05:55 svc:/network/shell:kshell
disabled        2:05:55 svc:/network/discard:dgram
disabled        2:05:55 svc:/network/discard:stream
disabled        2:05:55 svc:/network/telnet:default
....
online         14:05:35 svc:/system/filesystem/local:default
online         14:05:36 svc:/system/boot-loader-update:default
online         14:05:36 svc:/system/cron:default
online         14:05:36 svc:/system/filesystem/ufs/quota:default

サービスの有効化と無効化

ここでは、おもにApache Webサーバー・サービスについて説明します。

root@solaris:~# svcs -a | grep apache22
disabled       14:03:40 svc:/network/http:apache22

リスト16のように、-lオプションを使用すると、このサービスに関するより詳しい情報が表示されます。

root@solaris:~# svcs -l apache22

fmri         svc:/network/http:apache22
name         Apache 2.2 HTTP server
enabled      false
state        disabled
next_state   none
state_time   August  2, 2013 02:03:40 PM UTC
restarter    svc:/system/svc/restarter:default
manifest     /lib/svc/manifest/network/http-apache22.xml
dependency   require_all/error svc:/milestone/network:default (online)
dependency   require_all/none svc:/system/filesystem/local:default (online)
dependency   optional_all/error svc:/system/filesystem/autofs:default (online)

リスト16

リスト16から、Apacheサービスが3つのサービスに依存しており、これらのサービスのすべてが現在オンラインであることが分かります。

リスト17のように、svcadmコマンドを使用して、Apacheサービスを有効にしましょう。

root@solaris:~# svcadm enable apache22
root@solaris:~# svcs apache22

STATE          STIME    FMRI
online         21:45:54 svc:/network/http:apache22

リスト17

リスト17から分かるとおり、このサービスは現在オンラインになっています。

リスト18のように、svcs -pコマンドを使用することによって、このサービスがどのプロセスで起動したかを調べることができます。

root@solaris:~# svcs -p apache22
STATE          STIME    FMRI
online         21:45:54 svc:/network/http:apache22
               21:45:54     2707 httpd
               21:45:55     2709 httpd
               21:45:55     2710 httpd
               21:45:55     2711 httpd
               21:45:55     2712 httpd
               21:45:55     2713 httpd

リスト18

ここで、リスト19のように、プロセスIDを停止して、何が起こるか確認しましょう。リスト18に示されているプロセスIDを使用する必要があります。

root@solaris:~# kill -9 2707 2709 2710 2711 2712 2713
root@solaris:~# svcs apache22
STATE          STIME    FMRI
online         21:52:19 svc:/network/http:apache22
root@solaris:~# svcs -p apache22
STATE          STIME    FMRI
online         21:52:19 svc:/network/http:apache22
               21:52:19     2798 httpd
               21:52:20     2799 httpd
               21:52:20     2800 httpd
               21:52:20     2801 httpd
               21:52:20     2802 httpd
               21:52:20     2803 httpd

リスト19

リスト19から分かるとおり、Apacheサービスはオンラインのままであり、このサービスが新しいhttpdプロセスを自動的に再起動しています。このサービスをこれ以上オンラインにする必要がない場合は、単に無効にすることができます。

root@solaris:~# svcadm disable apache22
root@solaris:~# svcs apache22
STATE          STIME    FMRI
disabled       21:54:54 svc:/network/http:apache22

サービス・プロパティの表示と設定

各サービス管理機能サービスには、プロパティがいくつか関連付けられています。svcpropコマンドを使用することによって、プロパティとその値にアクセスできます。

application/pkg/serverサービスを調べて、pkgプロパティ・グループに含まれるすべてのプロパティを表示しましょう。

root@solaris:/usr/sbin# svcprop -p pkg application/pkg/server
pkg/address net_address 
pkg/cfg_file astring ""
pkg/content_root astring usr/share/lib/pkg
pkg/debug astring ""
pkg/file_root astring ""
pkg/log_access astring none
pkg/log_errors astring stderr
pkg/mirror boolean false
pkg/pkg_root astring /
pkg/proxy_base astring ""
pkg/socket_timeout count 60
pkg/sort_file_max_size astring ""
pkg/ssl_cert_file astring ""
pkg/ssl_dialog astring smf
pkg/ssl_key_file astring ""

pkg/threads count 60
pkg/writable_root astring ""
pkg/inst_root astring /repository/
pkg/readonly boolean true
pkg/port count 80

プロパティを設定する場合は、svccfgという別のコマンドを使用する必要があります。このコマンドは、コマンドラインで使用するモードと対話型インタフェースで使用するモードの2つの異なるモードをサポートしています。ここでは、コマンドライン・インタフェースを使用して、pkg/portプロパティを99に変更します。

root@solaris:/usr/sbin# svccfg -s pkg/server setprop pkg/port=99
root@solaris:/usr/sbin# svcprop -p pkg/port application/pkg/server

99

ご存じですか

Red Hat Enterprise Linuxでは、システム・サービスを管理するために、/etc/init/に格納されるUpstart(initシステムのイベントベースの代替)と/etc/init.dに格納される従来のinitシステム自体を組み合わせて使用します。Upstartは、サービスが関連性を登録できるイベントを発生させます。サービスの一部の要件を満たすイベント(またはイベントの組合わせ)が発生すると、Upstartは、そのサービスを自動的に開始または停止します。Upstartは部分的にオペレーティング・システムと統合されている(サービスがUpstartの構成ファイルに移植されるという点で)だけであるにもかかわらず、Red Hatでは、将来のRed Hat Enterprise LinuxのリリースでUpstartをSystemdと置き換えることを予定しています。

詳しくは、Red Hatのカスタマ・ポータルを参照してください。また、Upstartのクックブックも参照してください。

サービス管理機能は、サービスを順番に起動する従来のinitシステムと置き換わるという点ではUpstartと似ていますが、イベントベースではなく依存関係ベースです。どちらのソリューションも、最終的には、アプリケーションおよびシステム・サービスの信頼性を向上させるとともに、起動時間を短縮させます。その一方で、サービス管理機能は、サービスを開始、停止、および再開させるのに使いやすいことと、オペレーティング・システムの残りの部分との統合により、Upstartをリードしています。サービス管理機能は、バックエンド・サービス構成ストレージの機能も提供します。

追加のタスク

  • サービス管理機能は、バックエンドの構成リポジトリを使用して、特定のサービスに関する情報を格納します。システム更新全体にわたる構成を管理するために、構成は、リポジトリの異なるレイヤーに格納されます。例として、application/pkg/serverサービスを使用して、実行済みの管理カスタマイズを検出できるかどうかを確認してください。ヒント:2つのカスタマイズが実施されているはずです。
  • サービス管理機能は、電子メールまたはSNMPトラップによる管理通知をサポートしています。application/pkg/serverサービスを使用して、サービスがオンライン状態からメンテナンス状態または無効状態に移行したときにトリガーされる電子メール通知をセットアップしてください。
  • システムにインストールされているパッケージのリストを表示するサンプル・スクリプトを作成してください。

演習7:仮想化

Oracle Solaris Zonesテクノロジーにより、Oracle Solaris 11ではオーバーヘッドの少ない仮想化機能が実装されています。このテクノロジーにより、オペレーティング・システムの単一のインスタンスにおいて、分離された異なるアプリケーション環境を作成できます。このため、複数のシステムおよび複数の物理サーバーにわたって時間とリソースを管理するために必要となる管理上のオーバーヘッドが大幅に削減されます。各Oracle Solaris Zoneには、CPU、メモリ、ネットワーク、ストレージなどのリソースを割り当てることができる完全なリソース制御環境が含まれます。

ゾーンの作成

まずは、zonecfgコマンドを使用して、単純なテスト・ゾーンを作成しましょう。

root@solaris:~# zonecfg -z testzone

Use 'create' to begin configuring a new zone.
zonecfg:testzone> create
create: Using system default template 'SYSdefault'
zonecfg:testzone> set zonepath=/zones/testzone
zonecfg:testzone> set autoboot=true
zonecfg:testzone> verify
zonecfg:testzone> commit

zonecfg:testzone> exit

ここで、リスト20のように、zoneadmコマンドを使用してすべての構成済みゾーンを表示することによって、作成されたものを調べましょう。

root@solaris:~# zoneadm list -cv
  ID NAME      STATUS     PATH                     BRAND    IP    
   0 global    running    /                        solaris  shared
   - testzone  configured /zones/testzone          solaris  excl

リスト20

リスト20から分かるとおり、目的のtestzoneが作成されています。これは、solarisタイプのゾーンであり、完全に排他的なIPネットワーク・スタックを備えています。デフォルトでは、すべてのゾーンが、ユーザーにネットワーク・デバイスを自動的に提供する自動VNICを備えるように構成されます。この自動VNICは、ゾーンの起動時に自動的に作成され、ゾーンの停止時に自動的に破棄されます。

ゾーンを構成したら、そのゾーンをインストールする必要があります。

root@solaris:~# zoneadm -z testzone install
The following ZFS file system(s) have been created:
    rpool/zones
    rpool/zones/testzone
Progress being logged to /var/log/zones/zoneadm.20130804T215019Z.testzone.install
       Image: Preparing at /zones/testzone/root.

 AI Manifest: /tmp/manifest.xml.zwaW.h
  SC Profile: /usr/share/auto_install/sc_profiles/enable_sci.xml
    Zonename: testzone
Installation: Starting ...

              Creating IPS image
Startup linked: 1/1 done
              Installing packages from:
                  solaris
                      origin:  http://192.168.1.222/
DOWNLOAD                     PKGS       FILES    XFER (MB)   SPEED
Completed                 183/183 33556/33556  222.2/222.2  224k/s

PHASE                                          ITEMS
Installing new actions                   46825/46825
Updating package state database                 Done 
Updating image state                            Done 
Creating fast lookup database                   Done 
Installation: Succeeded

      Note: Man pages can be obtained by installing pkg:/system/manual

 done.

      Done: Installation completed in 1784.947 seconds.


  Next Steps: Boot the zone, then log into the zone console (zlogin -C)

              to complete the configuration process.

Log saved in non-global zone as /zones/testzone/root/var/log/zones/zoneadm.20130804T215019Z.testzone.install

作成したゾーンは、それ自体をImage Packaging Systemパッケージ・リポジトリからインストールします。

ここで、ゾーンのステータスを確認し、作成された新しいZFSデータセットを表示できます。

root@solaris:~# zoneadm list -iv
  ID NAME          STATUS     PATH                    BRAND    IP    
   0 global        running    /                       solaris  shared
   - testzone      installed  /zones/testzone         solaris  excl



root@solaris:~# zfs list | grep zones
rpool/zones                                  415M  3.61G    32K  /zones
rpool/zones/testzone                         415M  3.61G    32K  /zones/testzone
rpool/zones/testzone/rpool                   415M  3.61G    31K  /rpool
rpool/zones/testzone/rpool/ROOT              415M  3.61G    31K  legacy
rpool/zones/testzone/rpool/ROOT/solaris      415M  3.61G   390M  /zones/testzone/root
rpool/zones/testzone/rpool/ROOT/solaris/var 24.8M  3.61G  24.2M  /zones/testzone/root/var
rpool/zones/testzone/rpool/VARSHARE           31K  3.61G    31K  /var/share
rpool/zones/testzone/rpool/export             62K  3.61G    31K  /export
rpool/zones/testzone/rpool/export/home        31K  3.61G    31K  /export/home

testzoneを稼働させる最後の手順は起動です。


root@solaris:~# zoneadm -z testzone boot
root@solaris:~# zoneadm list -v
  ID NAME             STATUS     PATH               BRAND    IP    
   0 global           running    /                  solaris  shared
   1 testzone         running    /zones/testzone    solaris  excl

ゾーンにログインできます。

root@solaris:~# zlogin -C testzone

コンソールにログインすると、このゾーンの構成手順を順番に示すテキストベースの対話型システム構成ツールのプロンプトが表示されます。構成として以下の値を入力してください。

ホスト名:testzone
ネットワーク:Automatic
rootパスワード:solaris11
ouserパスワード:Oracle123

ゾーンの構成の初期設定が正常に完了したら、リスト21のように、ログインしてゾーン環境を確認できます。

root@testzone:~# uname -a
SunOS testzone 5.11 11.1 i86pc i386 i86pc
root@testzone:~# ipadm show-addr
show-addr
ADDROBJ           TYPE     STATE        ADDR
lo0/v4            static   ok           127.0.0.1/8
net0/v4           dhcp     ok           192.168.1.22/24
lo0/v6            static   ok           ::1/128
net0/v6           addrconf ok           fe80::8:20ff:fece:1bb0/10
root@testzone:~# dladm show-link
LINK                CLASS     MTU    STATE    OVER
net0                vnic      1500   up       ?
root@testzone:~# zfs list
NAME                     USED  AVAIL  REFER  MOUNTPOINT
rpool                    431M  3.59G    31K  /rpool
rpool/ROOT               431M  3.59G    31K  legacy
rpool/ROOT/solaris       431M  3.59G   404M  /
rpool/ROOT/solaris/var  24.9M  3.59G  24.3M  /var
rpool/VARSHARE            39K  3.59G    39K  /var/share
rpool/export            96.5K  3.59G    32K  /export
rpool/export/home       64.5K  3.59G    32K  /export/home
rpool/export/home/ouser 32.5K  3.59G  32.5K  /export/home/ouser

リスト21

リスト21から、いくつかの相違点が分かります。まず、ゾーンが使用できる排他的IPスタックがあります。このIPスタックはネットワーク仮想化を利用しています。VNICもゾーンのセットアップ時に自動的に作成されています。また、ゾーン内はいくつかのZFSデータセットのみが公開されていることも分かります。これは、大域ゾーンで使用可能なデータセットと異なる点です。

ここで、リスト22のように、ゾーンからログアウトし、「~.」と入力してコンソールを切断してから、大域ゾーンに作成されているVNICを調べましょう。

root@testzone:~# exit
logout

testzone console login: ~.
[Connection to zone 'testzone' console closed]
root@solaris:~# dladm show-vnic
LINK          OVER      SPEED  MACADDRESS        MACADDRTYPE       VID
vnic1         net1      1000   2:8:20:f7:a2:13   random            0
testzone/net0 net0      1000   2:8:20:fd:6f:e7   random            0

リスト22

リスト22から、物理インタフェースのnet0を介してtestzone/net0という新しいVNICが作成されていることが分かります。

ご存じですか

Red Hat Enterprise Linuxでは、主としてKVM(カーネルベースの仮想化)が使用されます。これにより、管理者は、変更のないLinuxおよびWindowsベースの環境を実行できます。KVMハイパーバイザは、libvirt APIとvirt-managervirtshなどのツールを使用して管理されます。KVMは、さまざまな仮想デバイス、エミュレーションされたデバイス、および準仮想化されたデバイスと、物理デバイスへの直接アクセスをサポートします。詳しくは、Red Hatのカスタマ・ポータルを参照してください。

Oracle Solaris Zonesは、オペレーティング・システムの中核部分と統合された、オーバーヘッドのもっとも少ない仮想化ソリューションを提供することで、業界でもよく知られています。Oracle Solaris Zonesは、迅速に作成およびクローン化することができます。また、クラウドにおけるマルチテナントのための非常に安全な分離環境を提供します。

ゾーンのクローニング

ゾーンが正常に作成されたので、ゾーンを迅速にクローン化しましょう。まず、既存のtestzoneを停止する必要があります。

root@solaris:~# zoneadm -z testzone shutdown

newzoneという新しいゾーンを作成しましょう。

root@solaris:~# zonecfg -z newzone
Use 'create' to begin configuring a new zone.
zonecfg:newzone> create
create: Using system default template 'SYSdefault'
zonecfg:newzone> set zonepath=/zones/newzone
zonecfg:newzone> verify

zonecfg:newzone> commit
zonecfg:newzone> exit

最後に、リスト23のように、zoneadm cloneコマンドを使用して既存のtestzoneをクローン化します。


root@solaris:~# zoneadm -z newzone clone testzone
The following ZFS file system(s) have been created:
    rpool/zones/newzone
Progress being logged to /var/log/zones/zoneadm.20130804T225815Z.newzone.clone
Log saved in non-global zone as /zones/newzone/root/var/log/zones/zoneadm.20130804T25815Z.newzone.clone
root@solaris:~# zoneadm list -iv
  ID NAME             STATUS     PATH                BRAND    IP    
   0 global           running    /                   solaris  shared
   - testzone         installed  /zones/testzone     solaris  excl  
   - newzone          installed  /zones/newzone      solaris  excl

リスト23

リスト23から、元のtestzoneのインストールにかかった時間に比べて、newzoneが迅速に作成されることが分かります。ここで、以前の手順と同じように、この新しいゾーンを起動して、システム構成手順を完了できます。

追加のタスク

  • ゾーンの作成時に、管理者は、システム構成ツールの手順を対話形式で進める代わりに、システム構成プロファイルを提供することもできます。新しいゾーン(myzone)を作成し、追加のシステム・プロファイルを使用してnewzoneをクローン化してください。ヒント:sysconfigコマンドライン・インタフェースを使用して、管理者独自のプロファイルを作成できます。
  • Oracle Solaris Zonesは、不変ゾーン(または読取り専用rootファイル・システム)と呼ばれる機能をサポートします。厳格な読取り専用ポリシーを持つようにmyzoneを構成してください。
  • Oracle Solaris Zonesをリソース管理用に構成できます。1Gbのメモリ制限を持つようにmyzoneを構成してください。

まとめ

これで、このハンズオン・ラボは完了です。セクションの大半を学習し、いくつかの追加タスクに自信を持って取り組んでいただければ幸いです。

参考資料

以下に、Oracle Solaris 11の管理に関する優れた参考資料のリストを示します。

著者について

Glynn Fosterは、Oracle SolarisのPrincipal Product Managerであり、プロビジョニングやオペレーティング・システムのソフトウェア・ライフ・サイクル(クラウド環境におけるそれらを含む)に関連するテクノロジーに取り組んでいます。

リビジョン1.0、2013年11月27日

フォロー先:
ブログ | Facebook | Twitter | YouTube

false