「What's New Solaris 10 8/07」で見る、Solaris 10 8/07 の新機能 : やっぱり Sun がスキ! やっぱり Sun がスキ!

やっぱり Sun がスキ!

http://blogs.sun.com/yappri/date/20070829 2007年 8月 29日 水曜日

「What's New Solaris 10 8/07」で見る、Solaris 10 8/07 の新機能

Solaris 10 11/06 (Update 3) がリリースされてから半年以上が経過しました。
blogs.sun.com などでは、次のアップデートリリースである Solaris 10 8/07 (Update 4) の情報などを目にする機会も増えてきていますが、どのような新機能が追加されたか気になりますね。

実は、Solaris 10 8/07 は、まだリリースされていませんが、ドキュメントだけは先に公開されているのです!
docs.sun.com にドキュメントが公開されると、リリース間近!と考えてよいかと思います。
Solaris 10 8/07 の新機能については、下記の URL で公開されているリリースノートで確認することができます。

What's New in the Solaris 10 8/07 Release
http://docs.sun.com/app/docs/doc/817-0547/6mgbdbsmb?l=ja&a=view

ざっと数えたところ、14 セクション 72 項目のアップデートがありました。
Brandz, IP Instance, iSCSI target のサポート, ZFS version 4 など大きな変更点がたくさんあります。
今回は、この中から独断と偏見でピックアップしたものをご紹介してみようかと思います。


System Administration Features
iostat Improvements
→ Solaris I/O Multipathing (MPxIO) で構成されるデバイスのパフォーマン ス情報取得する -Y オプションが追加されました。

ZFS Command Improvements and Changes
→ ZFS version 4 となりました。(Solaris 10 11/06 は、Version 3) リリースノートには、Solaris 10 11/06 で追加された機能もまとめられて います。 (ちなみに、最新の Nevada build 70 では、ZFS Version 8 となっていま す)

- ZFS コマンドヒストリのサポート
→ zpool のコマンド実行履歴を参照することができるようになりまし た。

- ZFS Pool の状態情報の改善
→ 永続的なエラーが発生しているファイルの一覧を表示できるよう になりました。以前は、i-node 表示のみでファイルを特定する のが少し面倒でした。

- ZFS と Solaris iSCSI
→ ZFS ボリュームを Solaris iSCSI target device として構成できるようになりました。

- ZFS プロパティの追加
→ 拡張アトリビュートの有効/無効を xattr プロパティでコントロー ルできるようになりました。また、ZFS ファイルシステム作成時に も、プロパティの指定が可能となりました。

- 全ての ZFS ファイルシステムの情報を表示
→ # zfs get -s local all と実行することにより、ローカルシステム に存在する、全ての ZFS 領域情報を出力することが可能となりまし た。

- zfs receive -F による受信前の強制ロールバック
-F オプションにより、受信前に最新のスナップショットの内容をロー ルバックします。

raidctl のエンハンス
→ raidctl コマンドが一新されました。
特にディスクの表記が「C.ID.L」と変更になり多少複雑となっています。
それぞれは、次のような意味となります。

C = チャネル
ID = ターゲット ID
L = LUN

たとえば、0.1.2 は、チャネル 0 に接続している物理ディスクであり、ターゲット ID は 1 、LUN は 2 ということを表しています

x86: Predictive Self-Healing for PCI Express on x64 Systems
→ ハードウェアの問題を自動的に検出および診断する予測的セルフヒーリング 機能が、x64 システムの PCI-Express に対応しました。

MPxIO Path Steering
→ 指定されたパスを介して診断コマンドを実行可能なよう、新しい ioctl が追加されました。

x86: stmsboot Porting
→ SPARC 版でのみサポートされていた MPxIO を構成する stmsboot コマンド が x86 でも利用可能となりました。 (Solaris 10 x86 11/06 までは、デフォルトで MPxIO が有効になってい るため、無効にするのが少し面倒でした。)

x86: Concurrent FPDMA READ/WRITE QUEUED Under SATA Module
→ 特定の作業負荷がかかっている場合でも、marvell88sx ドライバ(Sun Fire X4500 など)の入出力にて、性能が大幅に向上します。

x86: Tagged Queuing
→ SATA ディスクの Tagged Queuing 機能をサポートしました。

Installation Enhancements
NFSv4 Domain Name Configurable During Installation
→ いままでは、インストール後に設定していた NFv4 ドメイン名を、OS インストール時に設定できるようになりました。

Solaris Live Upgrade
→ Solaris Live Upgrade を利用することで、non-global zone を持つシステ ムの upgrade が可能となりました。 Solaris 10 11/06 ではできなかったのです!

Upgrading the Solaris OS When Non-Global Zones Are Installed
→ 上記に関連して、non-global zone を持つシステムの upgrade 方法につい ての注意事項が書かれています。 Solaris を Upgrade するときは、Live Upgrade での方法を推奨し、 non-global zone が含まれる flash archive を利用した場合は、正しくイ ンストールできないとのことです。 Keyboard Configuration Automated - インストール時に、キーボードの種類を自動的に識別できるようになり ました。自動認識に失敗した場合は、明示的に指定するようになっていま す。

Deferred-Activation Patching
→ パッチ管理コマンドである patchadd および patchrm の内部動作が変更となりま�������た。
patch に含まれる pkginfo に SUNW_SAFEMODE が含まれている場合に、この機能が有効となり、すぐにはパッチが適用されません。
厳密には、適用作業は行われますが、パッチ適用対象となるファイルをすぐに置き換えるわけではなく、その部分は、loopback filesystem(lofs)の機能を利用して、パッチ適用前の状態が保持されます。
これは、稼働しているシステムの動作を保証するためです。 その後、リブートにより lofs にて保護されていた部分が更新されパッチが適用されたシステムが稼働を開始するようになります。
と、説明していますが、実際の動作については、まだ、確認できていない部分もあることをご了承下さい。
Solaris 10 8/07 以前リリースでは、PatchID: 119254-42 (SPARC) または 119255-42 を適用することで、この機能が有効となりますが、まだ、リリースされていないパッチなので、どのようになるかはわかりません。。。 いずれにしても、興味深い変更点です。

Networking Enhancements
IPsec Tunnel Reform
→ RFC 2401 に準拠した、IPsec トンネルモードの機能を実装し、他の IPsec 実装との相互運用性が向上しました。

Packet Filter Hooks
→ カーネル内で IP パケットを処理したり、キャプチャすることができる API が提供されました。これを利用することで、non-global zone 間でのパケットキャプチャなども可能になります。

SMF Enhancements to Routing Management
→ ルーティングに関係するサービスが、SMF に対応しました。SMF に対応することにより、svcadm や svccfg で管理可能になり、プロセス再起動の機能も利用利用できます。
また、routeadm コマンドも改良され、これら SMF ベースのサービスを管理できるようになりました。

Quagga Software Routing Suite
→Quagga のサポートにより、OSPF, BGP などの経路制御用プロトコルをサポートします。
これは、以前のリリースにて提供されていた GNU Zebra を置き換えるものとなります。

DHCPv6 Client
→ DHCPv6 によるクライアントの自動構成をサポートしました。

Single Hosts File
→/etc/hosts と /etc/inet/ipnodes  分かれていた hosts ファイルが、やっと、一つのファイルに統合にされ、/etc/hosts および /etc/inet/ipnodes は、/etc/inet/hosts へのシンボリックリンクとなりました。
IP address を変えたいと思って、/etc/hosts だけ変更してみたものの、なぜか、変わらず・・・といった経験がありませんか?
以前のリリースでは、/etc/inet/ipnodes に書かれた、IP アドレスを参照していたため、このような問題が発生していました。

Large Send Offload
→ TCP Segmentation Offload とも呼ばれ、パケットの分割をホスト側の CPU ではなく、NIC ハードウェアに行わせることにより、CPU 負荷を減らすとともにネットワーク性能を向上させる技術です。Large Send Offload に対応した NIC が必要となります。
(対応 NIC などの詳細がつかめていないのですが、xge ドライバは LSO をサポートしているようです。)

x86: nge Driver Updated to Support Jumbo Framework
→ nge インターフェースで、Jumbo Frame が使えるようになりました。 利用可能な最大フレームサイズは、9K となります。

Security Enhancements
Solaris Key Management Framework
→ pktool コマンドは、PKI オブジェクトを管理するためのコマンドとなり、キーストアを管理するkmfcfg コマンドが提供されました。

libmd - Message Digest library
→ MD4, MD5, SHA1, SHA2 暗号化アルゴリズムを利用できる API が追加されました。

Solaris Cryptographic Framework
→ 証明書を利用し、バイナリに署名を付加できる elfsign コマンドがアップデートされました。

File System Enhancements
Support for iSCSI Target Devices
→ 以前、本 blog でも紹介した iSCSI Target がサポートされました!(よかった・・・汗)
iSCSI は、既存の TCP/IP ネットワーク上で SCSI プロトコルを利用するための技術です。
Solaris 同士で、iSCSI target/initiator を構成する方法については,
以下の URL にて紹介しています。

http://blogs.sun.com/yappri/entry/iscsi_on_solaris

Extended FILE Space for 32-bit Solaris Processes
→ 32bit アプリケーションプロセスは、利用可能な FILE descpritor 数に 256 個の制限がありましたが、今回のリリースにて制限をなくす ことが可能となりました。 既存の 32 bit アプリケーションにて、この機能を利用する場合は 環境変数 LD_PRELOAD_32 を利用し、file descpritor の制限を解除する ライブラリを設定し、実行する必要があります。 詳しくは、extendedFILE(5), extended_FILE_stdio(3C) を参照してくだ さい。

System Resources Enhancements
lx Branded Zones: Solaris Containers for Linux Applications
→Solaris Containers 技術を利用して Linux アプリケーションを動作させることができる BrandZ の登場です!
CentOS 3.5 〜 3.8 または、Red Hat Enterprise Linux 3.5 〜 3.8 が動作する non-global branded zone を作成することが可能となります。 (全てのアプリケーションの動作をサポートしているわけではありませんので注意が必要です。
また、lx branded zone は、x86 版のみの機能となります。)

BrandZ の導入方法については、以下の URL が参考になります。
http://jp.sun.com/communities/0705/feature01.html
http://jp.sun.com/communities/0705/feature02.html

Improved zonecfg Procedures for Creating Containers
→ zonecfg による non-global zone 作成時のリソース管理に、新しい項目の追加およびエンハンスがありました。
なかでも、rcapd (1M)を利用した物理メモリの使用制限が BrandZ でも利用可能となっています。

IP Instances: LAN and VLAN Separation for Non-Global Zones
→ non-global zone に、専用の network intercace を割り当てることによりネットワークをより柔軟に活用できる IP Instance 機能が追加されました! 簡単言ってしまえば、non-global zone 内でも、global zone と同様にネットワークが扱えるようになり、経路情報の設定や、snoop でのパケット取得、IP Filter の適用などがおこなえるようになりました。
また、以下の URL でも簡単ですが紹介しています。

やっぱり Sun がスキ!:IP Instances and Exclusive Zones
http://blogs.sun.com/yappri/entry/ip_instances_and_exclusive_zones

Solaris Zones Boot Enhancements
→ zoneadm の boot コマンドにオプションが追加されました。non-gobal zone 起動時に SMF が出力するメッセージをコントロールすることができたり、svc:/milestone/single-user (single user mode)の状態 で起動できるオプションも追加されています。

System V Resource Controls for Zones
→ non-global zone にて、プロセスが利用する System V 資源をコントロール することが可能となりました。

Zone Unique Identifier
→ zoneadm list -p の実行時、non-global zone には、ユニークな識別子が 付加されるようになりました。 non-global zone の移動や、名前変更時などにおいて non-global zone の 識別に役立ちます。

0:global:running:/::native:shared
1:testzone:running:/export/Zones/testzone:5f159b3b-2c68-4476-bf9a-80cc772f5629:native:shared

Ability to Mark Zones as “Incomplete”
→ non-global zone の状態を Incomplete に変更することが可能となりました。
この状態になってしまうと、uninstall を実行するまで取り消せなくなるので注意してください。

Using DTrace in a Non-Global Zone
→ fasttrap, pid, profile, syscall プロバイダが non-global zone で利用できるようになりました。 zonecfg コマンドに追加された limitpriv プロパティを設定することで 有効/無効を選択することが可能です。

Desktop Tools
Thunderbird 2.0
Firefox 2.0 Web Browser
→ Web ブラウザとして Firefox 2 が、メーラーとして Thunderbird 2 が 採用されました。 メニューも日本語化されています。
また、Thunderbird には、カレンダーとの連携をサポートする Lightning add-on が標準搭載されています。

x86: XVideo Support RealPlayer
→ RealPlayer は、X サーバが提供する XVideo エクステンションに対応しました。これにより、少ない CPU 負荷でストリーミングコンテンツを再生すること が可能となりました。

X11 Windowing Features dtlogin Language Selection Overhaul
→ dtlogin 上での言語選択方法が変更になりました。 ちょっとした変更ですがわかり易くなったかと思いま す。

X Server DTrace Provider
→ DTrace で利用できる Xserver Provider が、各種 Xserver (Xorg, Xsun Xprt, Xnest, Xvfb) に追加され、X クライアントとのコネクションを DTrace にてトレース可能となりました。

Xorg X11R7.2 Server and Drivers
→ Solaris のウィンドウシステムを構成する要、X11 環境が X11R7.2 をベー スとしたものになりました。 (SPARC 版のみ、X サーバは従来どおりの Xsun となります)

Language Support Enhancements

Japanese Font Update
→ 日本語 HG フォントがアップデートされ、JISX0213:2004 準拠となりました。

Input Method Switcher Enhancement and EMEA Keyboard Layout Emulation Support
→ インプット・メソッドを切り替えるためのツールであった gnome-im-switcher-applet (GNOME Panel 上で動作する gnome applet)が、 iiim-panel に置き換えられました。 iiim-panel は、スタンドアロンアプリケーションのため CDE 環境でも 実行可能です。

x86: Zero-CountryCode

Keyboard Layout Support
→ kbd -s コマンドにより、任意のキーボード配列を指定することが可能となりました。
kbd -s を実行することで、選択可能な配列を表示し選択することができます。

Developer Tool Enhancements
SunVTS 6.4
→ Hardware をテストするためのツールである SunVTS が SunVTS 6.4 となりました。
SunVTS は、DVD メディアの s0/Solaris_10/ExtraValue/CoBundled に 納められています。このディレクトリには、Trusted Extensions も あります!

New Drivers
Reliable Datagram Sockets

→ InfiniBand において、Reliable Datagram Sockets (RDS) をサポートしま した。というわけで、InfiniBnad もサポートしています! http://www.sun.com/io_technologies/infiniband/Infiniband0.html

Enhanced USB EHCI Host Controller Driver
→ ehci ドライバにおいて、一定容量の転送量を保証するアイソクロナス転送がサポートされました。

USCSI LUN Reset Support
→ uscsi (user SCSI command interface) driver にて、LUN リセットの機能が追加されました。

SATA HBA Framework and Marvell Driver
→ SATA の READ/WRITE FPDMA QUEUED コマンドがサポートされ、 Sun Fire X4500 などに搭載される Marvell 社製 SATA コントローラを 利用しているシステムでパフォーマンスが向上します。

Compact Flash Support
→ CompactFlash(CF) が ATA disk として利用できるようになり、CF からの boot をサポートしました。

ACM driver of USB Communication Device Class
→ Universal Serial Bus Communication Device Class Abstract Control Model (USB CDC ACM) に準拠したデバイスをサポートしました。 たとえば、お手持ちの携帯電話などを USB モデムとして利用できたり、 USB シリアルアダプタを利用して、コンソールを利用(入力/出力)できた りします。 この記事を書いている筆者は、EMOBILE EM・ONE を USB モデムとして使えることを確認しています。
携帯電話をモデムとして利用する場合は、以下の URL が参考となります。

Solaris で FOMA を使う
http://blogs.sun.com/ihara/entry/solaris%E3%81%A7foma%E3%82%92%E4%BD%BF%E3%81%86


IBM LTO-4 Tape Drive Support
HP LTO-4 Tape Drive Support
→ IBM および HP 社製の LTO-4 ドライブをサポートしました。

NVIDIA Accelerated Graphics Drivers
→ NVIDIA が提供する Solaris driver が統合されました。もちろん、OpenGL も利用可能です。

x86: ACPI Thermal Zone Monitor
→ 一部、x86/x64 サーバにおいて、ACPI が提供する Thermal Zone Monitor イベントを監視し、異常が発生した場合にシャットダウンを実行する機能がサポートされました。これにより、tzmon pseudo ドライバが追加されています。

x86: Adaptec aac Hardware Support
→ Adaptec 社のハードウェア RAID カードを利用するための aac ドライバが サポートされました。

x86: SATA AHCI HBA Driver
→ Intel の AHCI に準拠する SATA HBA 用ドライバがサポートされました。これは、Intel ICH6 コントローラまたは、VIA vt8251 コントローラで利用 可能です。

System Performance Enhancements

SPARC: UltraSPARC-T1 (Niagara) II PCI Express Interface Unit Performance Counter Data
→ UltraSPARC-T1 システムには、パフォーマンス・カウンターを持つ PCI Express Interface Units が搭載されていますが、busstat コマンドで内容を参照できるようになりました。

Multi-level CMT Scheduling Optimizations
→ UltraSPARC-T2 を含む CMT プロセッサ向けのスケジューリングが見直され、パフォーマンスが向上しています。

Process Count Scalability
→ 現在の UltraSPARC システムでは、8,192 個のコンテキストをサポートしています。しかし、プロセス数が 8,192 個を超えると、カーネルがコンテキストを横取りし、プロセスを維持しようとしますが、この動作の負荷が大きくプロセスが増えるにつれてパフォーマンスが悪化します。この処理を見直し、設計し直すことで、効率的に 8,192 個以上のプロセスを稼働させることができるようになります。
CPU 数が多いシステムに効果的です。

MPSS Extended to Shared Memory
→ multiple page size support (MPSS) の SysV 共有メモリサポートが向上しました。また、/dev/zero の mmap あるいは、MAP_ANON フラグによって作成された共有メモリにおいても MPSS が利用可能となります。

Device Management Features CPU Power Management
→ CPU パワーマネージメントをサポートするために、あらたに 2 つのキーワードが power.conf に追加されました。
autopm を置き換える、cpupm および、アイドル状態が 指定された時間継続しているすべての CPU の消費電力を下げる cpu-threshold が追加されています。

Console Subsystem Features Coherent Console
→ コンソール出力のレンダリング方法を OpenBoot PROM 経由からframebuffer ドライバを経由するよう変更し、OBP への依存を極力減らした 出力方法となり、テキストのスクロール速度や、CPU への負荷が低減されるようになりました。

投稿されたコメント:

[Trackback] 数日前くらいからかもしれませんが、Solaris 10 8/07 が入手可能となりました。 http://www.sun.com/software/solaris/get.jsp http://www.sun.com/software/solaris/download_instruction.xml Buy Media のところは今日現在まだ Solaris 10 11/06 しか発注できないようですが、Free Download は最新の Solaris 10 8/07 が入手できます...

Posted by hiroa ブログ - a road to the real blogger on 9月月 05日, 2007年 at 08:43 午後 JST #

コメント
  • HTML文法 不許可