2010年2月アーカイブ

dedup をサポートしている OpenSolaris (b128 or later) で可能な技です。

OpenSolaris の non-global zone は、ipkg branded zone と呼ばれ Solaris 10 の native zone に比べると色々と変わっているところがあります。

で、OpenSolaris の non-global zone は zfs dataset 上に配置されるのですが、せっかく dedup 使えるようになったんだから複数 non-global zone を動かすときには効果ばつぐんじゃね?ということで、強制的に dedup=on を設定した dataset を create してからファイルをもろもろインストールさせるようにしてみました。

/usr/lib/brand/ipkg/common.ksh の下記の箇所を修正するだけです。(b133 で取得した diff となるため build によっては変わる可能性があります)

以後、 zoneadm -z hoge install 時に作成される dataset は dedup=on となります。

*** /usr/lib/brand/ipkg/common.ksh.orig    2010-02-24 12:28:18.561761946 +0900
--- /usr/lib/brand/ipkg/common.ksh    2010-02-24 12:28:56.130573474 +0900
***************
*** 249,255 ****
 
      /usr/sbin/zfs list -H -o name $ZONEPATH_DS/ROOT >/dev/null 2>&1
      if (( $? != 0 )); then
!         /usr/sbin/zfs create -o mountpoint=legacy \
              -o zoned=on $ZONEPATH_DS/ROOT
          if (( $? != 0 )); then
              fail_fatal "$f_zfs_create"
--- 249,255 ----
 
      /usr/sbin/zfs list -H -o name $ZONEPATH_DS/ROOT >/dev/null 2>&1
      if (( $? != 0 )); then
!         /usr/sbin/zfs create -o mountpoint=legacy -o dedup=on \
              -o zoned=on $ZONEPATH_DS/ROOT
          if (( $? != 0 )); then
              fail_fatal "$f_zfs_create"

: Twitter Updates

    follow me on Twitter

    ウェブページ

    タグクラウド

    Techonrati

    Technorati search

    » リンクしているブログ

    Powered by Movable Type 4.23-ja