  The InterMezzo High Availability File System HOWTO
  by the project members
  v1.0.5, August 2001
  { _ (hng@ps.ksky.or.jp)
  v1.0.5j, February 08, 2002

  ́̕ALinux  InterMezzo t@CVXe̐ݒ肨ѓ
  ܂B
  ______________________________________________________________________

  ڎ

  1. ӎ
  2. ƐӂуCZX
  3. ͂߂
     3.1 InterMezzo ͉łH
     3.2 o[W1.0.4ł̐

  4. InterMezzo ̃CXg[
     4.1 Tv
     4.2 pbP[W̓
     4.3 u[g邽߂ 2.4 ̃J[l̍\z
     4.4 JX^J[l InterMezzo t@CVXe̍\z

  5. InterMezzo ̐ݒ
     5.1 RtBOt@C
     5.2 InterMezzo t@CVXẽtH[}bg
     5.3 ext2/3 t@CVXe InterMezzo ւ̕ϊ
     5.4 O̈ʓIȍ\
        5.4.1 ̃NCAgƈ̃T[o (ʓIȎgp - bvgbvƃfXNgbvAobNAbvA̃EFuT[oȂǂ̓)
        5.4.2 ̃NCAgƈ̃T[o (ʓIȎgp - ̃[gItBX)
        5.4.3 IPSec  ssh gl̗p
        5.4.4 zXgł̈̃NCAgƈ̃T[o (ʓIȎgp - InterMezzo ̃eXg)
     5.5 \`FbN

  6. ̃Jo
  7. fobO
  8. eXgуfobÔ߂ɃeXgt[[Ngp
  9. InterMezzo ͂ǂ̂悤ɓ삵܂H
     9.1 ѐƗx
     9.2 intermezzo.oAJ[lW[
     9.3 Lento
     9.4 KML t@C
     9.5 Last_rcvd t@C
     9.6 KML  Expect t@C̐ȕϊ

  10. Ȁ
  11. {ɂ

  ______________________________________________________________________

  1.  ӎ

  ̕X HOWTO Ɋ^܂B҂Peter J. Braam
  <mailto:braam@clusterfs.com>, Rob Simmonds, Gordon Matzigkeit
  <mailto:gord@fig.org>, Christopher Li <mailto:chrisl@gnuchina.org>,
  Shirish Phatak <mailto:shirish@tacitussystems.com> łB

  2.  ƐӂуCZX

  InterMezzo is an experimental file system.  It contains kernel code
  and daemons running with root permissions and is known to have bugs.
  Please back up all data when using or experimenting with InterMezzo.
  InterMezzo is covered by the GPL.  The GPL describes the warranties
  made to you, and can be found in the file COPYING.

  Copyright on InterMezzo is held by Peter J. Braam, Stelias Computing,
  Carnegie Mellon University, Phil Schwan, Los Alamos National
  Laboratory and Red Hat, Inc, TurboLinux, Inc., Tacitus Systems, Inc.
  and Mountain View Data, Inc.

     Ql
        InterMezzo ͎Iȃt@CVXełB̓J[lR[h
        у[gŎsf[AĊm̃oO܂ł
        BInterMezzo ̎gp͎sꍇAf[^ׂăob
        NAbvĂB

        InterMezzo  GPL ɂĕی삳܂BGPL ͂ȂɂȂ
        ؂ɂďqׁAt@C COPYING ̒ɂ܂B

        InterMezzo ̒쌠 Peter J. Braam, Stelias Computing,
        Carnegie Mellon University, Phil Schwan, Los Alamos National
        Laboratory, Red Hat, Inc., TurboLinux, Inc., Tacitus Systems,
        Inc., Mountain View Data, Inc. ۗLĂ܂B

  InterMezzo is a trademark of Stelias Computing.  It may be used freely
  to refer to the software on the InterMezzo Web Site <http://www.inter-
  mezzo.org>

     Ql
        InterMezzo  Stelias Computing ̏WłBInterMezzo EFuT
        Cg <http://www.inter-mezzo.org>̃\tgEFAy邽
        ɁARɎgp邱Ƃł܂B

  3.  ͂߂

  3.1.  InterMezzo ͉łH

  InterMezzo ͑̃Rs[^ɑ݂ folder collection, ʖ
  fileset ̕ێt@CVXełBC̃O\z
  m[hւ̃OL߂邱ƂɂAĂ̕ێ܂B
  ւ̊֗^Rs[^ fileset  sP[^ƌĂ΂
  BInterMezzo ́AvP[^ł̍XVۂɑgD
  ʂAfileset ̂߂̃T[o܂B

  InterMezzo ɂdisconnected operation (ؒf̓) A܂A
  sʂƂȂĂ`l forwarded KvȂׂĂ̍XV
  oĂ߂ɁAO Ǘ܂BRtBO[Vp[^
   conflicting updates (XV) ̉ݒ肵Ȃ
  Adisconnected operation ̊Ԃ conflicting updates N\
  ̂ŁA̓xXgGtH[g^łB

  InterMezzo ͑Sf[^̋LƂĊ̃fBXNt@CVXeg
  p܂B_ ext3 T|[g܂AԂȂ ReiserFS 
  XFS T|[gł傤Bext3 ɃtH[}bgꂽfBXN{[
   ext3 ̑Ƀt@CVXe^Cv InterMezzo Ń}Egꂽ
  ȂAInterMezzo \tgEFA̓t@CVXeւ̃ANZXׂĊ
  n߂܂B́AC̃OL^AfBXNt@CVXeC
  邽߂  mFAconnected operation ̋XV
  ܂B

  InterMezzo ͊bIȓ̃t@C]̎dg݂A rsync v
  gR (Rsync EFuTCg <http://rsync.samba.org>QƂĂ)
  gƂł܂B
  3.2.  o[W1.0.4ł̐

      ZLeB
        ̂ƂAMꂽlbg[Nł̂ InterMezzo s
        ׂł - ɊւVXẽ[g[U͓M
        Kv܂BVXeɑg܂ꂽ rudumentary security 
        ܂A (root squash ̂Ȃ) NFS ZLeBƎ
        悤Ȃ̂łBMꂽlbg[N𓾂ǂ@ IPSEC
        (FreeSwan http://www.freeswan.org QƂĂ)ACIPE
        (http://sites.inka.de/sites/bigred/devel/cipe.html QƂĂ
        )ASSH glgƂłBSSL [eBeB stunnel
        ̓f[Đڑsł񐶐̂ŁA
        ܂BPOSIX ACL ̕ 2.2 J[lŗpłA2.4 ͂
        Ȃo܂BɂAZLeB̌オȂł
        B

      Jo
        ̂ƂAVXe Ext3 Ƒg킳ꂽW[iJo
        ܂BVXeNbVAUꂽԂ܂ KML,
        LML last_rcvd t@C[JfBXNVXe͎I
        ł傤BƂȂJoʂɃV[Xɍs
        悤ɂȂł傤B

      ̈
        VXe͔ߊώ`ł͂Ȃi`Iȋosn
        hĂ܂BƍL͂ȋc[͊J
        ÃW[[Xŗpł͂łBdisconnected
        operation ̊Ԃ̌ɍĐڑꍇNA̓NC
        AgŋN\VXe̐݌vɂȂĂ܂B

      Fetch on demand
        ʁAInterMezzo ͑St@CVXe𕡐܂BȂ
        AFetch on demand VXe͏̃o[WœoꂵAt@C
        VXe̕Iȕł悤ɂȂł傤B̍ŏ̃o[
        W̓^f[^ (fBNg inode ׂ) ̕ł
        ȂA fetch file data on demand ɂȂł傤BIȃ^
        f[^̕ύX͏̃o[WŎ邩܂B

  4.  InterMezzo ̃CXg[

  4.1.  Tv

  InterMezzo  InterMezzo t@CVXeJ[lɈˑ
  B Perl ŏꂽ[Ux̃t@CT[oуLbV}
  l[W܂B InterMezzo t@CVXe쐬郆[
  eBBeB܂B

  4.2.  pbP[W̓

  o[W 1.0.4 ̃pbP[W
  <ftp://ftp.inter-mezzo.org:/pub/intermezzo/1.0.4/rh7.1/RPMS>
  ܂B̃pbP[W͂ꂢ RedHat 7.1 VXeɃCXg[
  ׂłB2.2 J[lpbP[W 2.4 J[lpbP[Ŵǂ
  CXg[܂B

  4.3.  u[g邽߂ 2.4 ̃J[l̍\z

  2.4 J[lu[g邽߂ɁÂ悤 initrd ŏ ramdisk 
  Kv܂ -
       mkinitrd /boot/initrd-2.4.7-ext3_0.9.5-presto_1.0.4 2.4.7-ac9

  Lilo ł̃J[lu[g邽߂ɁÂ悤 lilo Gg
  /etc/lilo.conf t@Cɒǉ܂ -

       image=/boot/vmlinuz-2.4.7_ext3_0.9.5_presto_1.0.4
               label=InterMezzo
               read-only
               root=/dev/hda1
               initrd=/boot/initrd-2.4.7-ext3_0.9.5-presto_1.0.4

  4.4.  JX^J[l InterMezzo t@CVXe̍\z

  Ȃ̃J[lJ[lW[𐶐邽߂ɁAȂ̃J[l
   .config t@CуJ[l\[XKvłBŏɃJ[l
  \[X̏AɃW[̍\zւƐi݂܂ -

       cd /your/source/linux
       make distclean
       cp your.config  .config
       make oldconfig dep
       cd /usr/src/presto24-1.0.04
       ./configure --enable-linuxdir=/your/source/linux
       make install

  [󒍁GL /your/source/linux (ӏ) ́uJ[l\[X̃fBN
  gvɓǂ݂ĎsĂB]

  Linux 2.2 J[lł菇ōs܂B

  5.  InterMezzo ̐ݒ

  5.1.  RtBOt@C

  ftHg̃RtBOfBNg /etc/InterMezzołBȉɎ
  t@C𐶐邽߂ɁAΘb^ inconfig R}h𗘗p邩A
  ͎蓮ł쐬Ă܂܂B

  o[W 1.0 тȍ~ŎgRtBOt@ĆAÂo[
  WŗpĂ Perl tH[}bg̑ɁAXML tH[}bgp
  ܂B

     /etc/intermezzo/sysid
        VXeApresto foCXAIP oChAhXێ܂B
        ɁAT[o muskoxAIP AhX 192.168.0.3 ŁANCA
        g clientA  clientB Ƃ܂BezXg sysid t@C
        ̓zXgApresto foCXAIP oChAhX܂݂܂B
        ܂ muskox ̃t@Ĉ͎悤ɂȂł傤 -
          <sysid name="muskox" psdev="/dev/intermezzo0" bindaddr="192.168.0.3" />

     InterMezzo ̏o[W͂̃t@C presto foCX܂
     łȂƂɒӂĂ - ł͂̃tB[hKvƂ
     ܂B

     /etc/intermezzo/serverdb
        T[õf[^x[Xێ܂B server \͎̂Ɏ XML
         server Ggł -

          <serverdb>
            <server name="muskox" ipaddr="192.168.0.3" port="2222"
              bindaddr="192.168.0.3" />
          </serverdb>

     L IP AhX 192.168.0.3 ȃT[o muskox p̒P̃T[őL
     qłBport  bindaddr ̋Lq͔Cӂł - ftHg̃|[g
      2222 łBbindaddr ̋Lq̂ȂT[o͗vׂẴC^[
     tF[Xő҂ (listen) ܂BLq̂T[o bindaddr ̃Ah
     Xゾő҂܂BNCAgƃT[o̗𓯂VXeŎs
     ĂꍇAقȂ bindaddr T[oƃNCAgɎw肷邱
     KvłB

     /etc/intermezzo/fsetdb
        fileset ̃f[^x[Xێ܂B fsetdb \͎̂Ɏ XML
         fileset Ggł -

          <fsetdb>
          <fileset name="yourfsetname" servername="muskox" fetchtype="bulktype" >
          <replicator>clientA</replicator>
          <replicator>clientB</replicator>
          </fileset>
          </fsetdb>

     L muskox ێ yourfsetname ƌĂ fileset ̒P
     fileset ̋LqłBfileset ̓zXg clientA  clientB ŕ
     ܂B

     fetchtype ̓T|[gꂽoN[õNXł邱Ƃ
     BftHg "Rsync" ŁAP InterMezzo ɊǗo
     N[o "Desc" ƌĂ΂܂B

     /etc/fstab
        InterMezzo fileset ̃}EgȒPɂɂ́ALɎ
         /etc/fstab ɒǉ܂BъJɂ́A[vfoC
        XLbVƂėp邱ƂƂȒPł -

     /tmp/cache  /izo0  intermezzo loop,fileset=fsetname,mtpt=/mnt/izo0,
           data=journal,prestodev=/dev/intermezzo0,cache_type=ext3,noauto 0 0

     ŁA/tmp/cache ̓[vfoCXɎgt@CŁA /izo0 
     }Eg|Cg (fBNg) ŁAfsetname  fileset 
     ŁA/dev/intermezzo0  presto foCXłBLbVt@C
      presto foCX̍쐬͂̃ZNV̏I̗Ő
     ܂Bɂ́AJ[l loopback device support Lɂ
     č\zȂ΂Ȃ܂B

     L - }EgIvV data=journal ́A2.4 J[l ext3 
     oOC܂ŏdvłB

     ȃubNfoCX𗘗p邱Ƃ́A[vfoCX̐ݒ
     KvȂ̂ŁAȒPłBubNfoCX /dev/hda9 𗘗p
     ɂ́A/etc/fstab t@Ĉ͎̂܂݂܂ -

          /dev/hda9  /izo0 intermezzo fileset=fsetname,mtpt=/izo0,
          prestodev=/dev/intermezzo0,cache_type=ext3,data=journal,noauto 0 0

     L -

        o  ̕ł͍s܂ԂĂ邩܂񂪁A/etc/fstab
           ̃Gg͈słȂ΂Ȃ܂BȉɎł
           Ƃ܂B

        o  }Eg|Cg̓IvV̒ŖIɓnKv܂
           (}Eg̏̃o[W͂ꂪKvȂȂł傤)B

     ̃t@C
        t@C /izo0/.intermezzo/fsetname/kml  InterMezzo t@CV
        XeōsȂꂽύXׂĂ̔c kernel modification
        log (ʖ KML) ܂݂܂Bt@C
        /izo0/.intermezzo/fsetname/last_rcvd ͕Uꂽt@C
        c last_rcvd t@CłBInterMezzo ̌s̃[X
        ́A InterMezzo t@CVXe߂ă}EgOɁAKML 
         last_rcvd t@C쐬 (ʏ mkizofs s܂) K
        v܂B

  5.2.  InterMezzo t@CVXẽtH[}bg

  ̂߂ɂ́Amkizofs c[𗘗p܂ -

  mkizofs -r fsetname -j /tmp/cache
  mkizofs -r fsetname -j /dev/hdaX

  -r IvV̈InterMezzo ̕O쐬郋[g
  fileset łB-j IvV Ext3 W[i쐬܂B
  t@CVXeʂw肷悤ȃIvV܂̂ŁA mkizofs
  -h QƂĂB

  5.3.  ext2/3 t@CVXe InterMezzo ւ̕ϊ

  ɃLbVt@CVXeĂꍇAInterMezzo K
  vƂ郁^f[^t@C蓮ō쐬Ȃ΂Ȃ܂ -

       mount -t ext2 -o loop /tmp/cache /izo0
       mkdir -p /izo0/.intermezzo/fsetname/db
       chgrp -R InterMezzo /izo0/.intermezzo
       chmod 700 /izo0/.intermezzo
       touch /izo0/.intermezzo/fsetname/{kml,lml,last_rcvd}
       tune2fs -j /tmp/cache # if file system was ext2
       umount /izo0

  ̗́A/tmp/cache t@CVXeɃ[vobNfoCX𗘗p
  A fileset  fsetname ƌĂ΂ĂƉ肵܂B

  InterMezzo ƂĂ}Eg\OɁA蓮ŕ
  Ώۂɂ𕡐ׂȂ̂ŁAʓIɃt@CVXe͓ɂȂ
  ܂B

  5.4.  O̈ʓIȍ\

  ʓIȍ\OɂƂAT[o^LbV}l[WN邽
  ̃RtBOt@Cѐ菇l܂傤B

  5.4.1.  ̃NCAgƈ̃T[o (ʓIȎgp - bvgbv
  ƃfXNgbvAobNAbvA̃EFuT[oȂǂ̓)

  ̏ꍇAɃzXg muskox  fileset shared ێAzXg clientA
   fileset 𕡐Ƃ܂B̃t@C muskox  clientA ̗
  ɒu܂B

     /etc/intermezzo/serverdb

          <serverdb>
            <server name="muskox" ipaddr="192.168.0.3" />
          </serverdb>

     /etc/intermezzo/fsetdb

     <fsetdb>
     <fileset name="shared" servername="muskox" >
     <replicator>clientA</replicator>
     </fileset>
     </fsetdb>

     /etc/intermezzo/sysid
        muskox ̂̓e -

          <sysid name="muskox" psdev="/dev/intermezzo0" bindaddr="192.168.0.3" />

     clientA ̂̓e -

          <sysid name="clientA" psdev="/dev/intermezzo0" bindaddr="192.168.0.20" />

     /etc/fstab
        ̍s muskox  clientA ̗̃t@Cɒǉ܂ -

          /tmp/fs0  /izo0      intermezzo loop,file-
          set=shared,prestodev=/dev/intermezzo0,
          mtpt=/izo0,cache_type=ext3,noauto 0 0

     /tmp/fs0
        ̃t@Cуt@CVXe͉L̃R}hgpč쐬
        ܂ -

          dd if=/dev/zero of=/tmp/fs0 bs=1024 count=10k
          mkizofs -F /tmp/fs0

     /izo0/.intermezzo/shared/kml
        L mkizofs sȂꍇAŏɃt@CVXe
        ext3 Ƃă}EgÃR}h KML  last_rcvd t@
        C쐬܂ -

          mkdir /izo0
          mount -o loop /tmp/fs0 /izo0
          mkdir -p /izo0/.intermezzo/shared
          touch /izo0/.intermezzo/shared/{kml,last_rcvd}
          umount /izo0

     /dev/intermezzo0
        ͉L̃R}hgpč쐬܂ -

          mknod /dev/intermezzo0 c 185 0
          chmod 700 /dev/intermezzo0

     /etc/conf.modules
        W[̍\t@C /etc/modules.conf ƌĂ΂Ă邩
        ܂B̍sǉĂ -

          alias char-major-185 intermezzo

  lento NOɁALbV}EgĂ -

       mkdir /izo0; mount /izo0

   lento Nł܂Bmuskox  clientA ̗ŁA͂
  B

       lento

  5.4.2.  ̃NCAgƈ̃T[o (ʓIȎgp - ̃[
  gItBX)

     /etc/intermezzo/serverdb
        Ĺu̃NCAgƈ̃T[ov̏ꍇƓlłB

     /etc/intermezzo/fsetdb

          <fsetdb>
          <fileset name="shared" servername="muskox" >
          <replicator>clientA</replicator>
          <replicator>clientB</replicator>
          </fileset>
          </fsetdb>

     ͍ŏ̗ƓlłAclientB  replicator ̃Xgɒǉ
     Ă܂B

     /etc/intermezzo/sysid
        muskox  clientA ̂ ŏ̗ƓlŁA clientB 
        ͎̂̂܂݂܂ -

          <sysid name="clientB" psdev="/dev/intermezzo0" bindaddr="192.168.0.21" />

     /etc/fstab
        ́AĹu̃NCAgƈ̃T[ov̏ꍇŎgp
        ̂ƓlłB

  5.4.3.  IPSec  ssh gl̗p

  NɉĂ܂񂩁H

  Íꂽgl̋N ssh -f -x -L 3333:localhost:2222 -R
  3333:localhost:2222

  5.4.4.  zXgł̈̃NCAgƈ̃T[o (ʓIȎgp
  - InterMezzo ̃eXg)

  zXg muskox ŎsĂƉ肵܂B̃zXgŕ
  lento sɂ ip-alias ̎gpKvł - ip-alias IvV
  J[lɑg܂ĂȂ΂Ȃ܂ (CONFIG_IP_ALIAS)B͈
  ̃C^[tF[Xɕ IP AhX֘At邱Ƃł܂BO
  muskoxA1  IP AhX 192.168.0.100 płƂ܂Bt@C
   -

     /etc/hosts
        ̒Ɏ̍sǉ܂ -

          192.168.0.100   muskoxA1

     Ď̓͂ɂ ip-alias ǉ܂ -

         ifconfig eth0:1 muskoxA1 up

     ɉL̓e̐ݒt@C쐬܂ -

     /etc/intermezzo/sysid

          <sysid name="muskox" psdev="/dev/intermezzo0" bindaddr="192.168.0.3" />

     /etc/intermezzo/sysid.muskoxA1

     <sysid name="muskoxA1" psdev="/dev/intermezzo1" bindaddr="192.168.0.100" />

     ҂̃t@C alias ꂽ IP AhXŎs lento p
     sysid t@CƂčp܂BzXgŃNCAgƃT[o
     ̗sĂ̂ŁAꂼ̂߂ /dev/intermezzo0 
     /dev/intermezzo1 ƂقȂfoCXw肵Ȃ΂ȂȂƂ
     ӂĂB

     /etc/intermezzo/fsetdb

          <fsetdb>
          <fileset name="shared" servername="muskox" >
          <replicator>muskoxA1</replicator>
          </fileset>
          </fsetdb>

     Ԗڂ lento sɂ́Aڂ presto foCXу[v
     obNLbVKvłB̂悤ɍ쐬܂ -

     mknod /dev/intermezzo1 c 185 1
     dd if=/dev/zero of=/tmp/fs1 bs=1024 count=10k

     mkizofs -F /tmp/fs1
     chmod 700 /dev/intermezzo1

     /etc/fstab
        ̃GgɕKvȂƂɒӂĂ -

        /tmp/fs0  /izo0      intermezzo loop,fileset=shared,prestodev=/dev/intermezzo0,
        mtpt=/izo0,cache_type=ext3,noauto 0 0
        /tmp/fs1  /izo1      intermezzo loop,fileset=shared,prestodev=/dev/intermezzo1,
        mtpt=/izo1,cache_type=ext3,noauto 0 0

      InterMezzo t@CVXe}EgĂ -

          mount /izo0
          mount /izo1

     T[oƂē삷 lento OƓlɎsł܂ -

          lento

     vP[^Ƃē삷 lento ́Aǂ sysid t@Cǂނ
     `Ȃ΂Ȃ܂ (͂ǂ presto foCXgp邩`
     邱Ƃł)B̂悤ɓڂ lento N܂ -

          lento.pl --idfile=sysid.muskoxA1

  5.5.  \`FbN

  ̂ƂAcheckconfig c[͓삵Ă܂BRtBO`FbN
  XML o[W͂܂肵Ă܂B

  ݒt@C̊ȒPȃ`FbNsXNvg͒񋟂܂B
  config_check ƌĂ΂XNvg .../intermezzo/tools fBNg
  ɂ܂B

  lento WIȃVXe id t@C /etc/intermezzo/sysid gp
  ȂAXNvg͈ȂŎsł܂BقȂVXe id t@
  CgpĂ̂ȂA߂ --idfile=my_idfile tO
  gp܂B

   --configdir=my_confdir tOgp邱ƂŁA /etc/intermezzo
  ȊÕRtBOfBNggpł܂B

  6.  ̃Jo

  InterMezzo ̌sł̓VXeNbV̂قƂǂ̏󋵂ɑΏ邽
  ɁAJo̎dg݂g܂Ă܂BݒIԂƂŁAȂ킿
  NCAgуT[oLbVւ̈тȂXVł܂B

  Ȃ disconnected operation ̊ԁAt@CVXeǏop
  Ƃ邱Ƃɂ肻ݒ𖾎IɂȂꍇA͐
  \܂BNCAgуT[oтȂLb
  VĂ܂ꍇAVXeJoł̂́A蓮Jo
  łB

  VXe͎蓮Ŏ̂悤ɃJoł܂ -

  1. NꍇAύXēĂ lento ͏I܂B
     lento ͂̃vP[^̑肩̍XVMĂāA
     ŐVɂȂĂ܂Bē𑱂Ă lento I
     lento ֓܂傤B

  2. T[oуNCAg (Q) IALbVA}Eg
     AJ[l presto W[폜܂ -

      umountizo ; rmmod presto

  3. ext3 t@CVXeƂĊeLbV}Eg܂ -

      mount -o loop /tmp/fs0 /izo0

  4. NCAgуT[õLbV𓯊邽߂ rsync 
     tar 邢͕ʂ̃c[gp܂BT[oɂȂt@CNC
     AgK폜ALbV𓯈ɂ܂B
  5. NCAg synced tOZbgĂ - ͋NɃV
     Xeēx悤Ƃ邱Ƃh܂B SYSID NCA
     g sysid ŁAFSETNAME  fileset ŁAuȉ̃R}h
     ōs܂ -

      touch /var/intermezzo/SYSID/FSETNAME-synced

     Ⴆ΁Afileset shared NCAg iclientA Ŏgɂ -

      touch /var/intermezzo/iclientA/shared-synced

  6. iIȃf[^x[X͂̎_ŁA͂̂ŁANCAg
     ƃT[o̗ KML  last_rcvd ̃R[hȂ΂
     ܂ -

      cp /dev/null /izo0/.intermezzo/shared/kml ;
      cp /dev/null /izo0/.intermezzo/shared/last_rcvd

  7. LbVA}EgAĂ InterMezzo t@CVXeƂ
     }Eg܂BT[oуNCAg lento ċN܂B

  ͖łAjournaled recovery ͊JȂ̂łB

  7.  fobO

  oO̔ɂ́AO邱ƂKvłBO͓ӏ
  AJ[l̃O /var/log/messages ցAlento ̃O
  stdout  stderr ֏o͂܂B

  J[l̃fobOO@\̓VXeƂĂx܂BŊJn
   -

       echo 4095 > /proc/sys/intermezzo/debug
       echo 1 > /proc/sys/intermezzo/trace

  lento ̃O͒[ߑłA--debuglevel=N ̎gpŊJn
  BN=1 ő̂ƂAN=100 łׂĂ̂ƂAO܂B

  Nׂ̂邽߂ɁAO͂̂ƁAoOČ鐳m
  ȏ[ĂB

  8.  eXgуfobÔ߂ɃeXgt[[Ngp

  ../intermezzo/tests fBNg README t@CǂłB
  ͂Ȃׂ̂Ă̏ȒPɎĂƂłÃVX
  eŃNCAgуT[os܂B

  9.  InterMezzo ͂ǂ̂悤ɓ삵܂H

  InterMezzo ͂Ȃ Coda 璅z𓾂ĂÃ݂LbVv
  gR Coda T|[g鑽̃vgR̈łBׂĂ̏󋵂
  ŗǂłƂ͌܂񂪁AȒPɍsƂł̂łB

  InterMezzo t@CVXe͓ꂽ̃zXg̃t@C
  Wێ܂BezXg̃lCeBut@CVXȅɈʒuA
  ̃zXgԂ̕ύX𓯊邱Ƃł悤ȕ@ŁAXVc
  B̕ŁAꂽt@Cێ邽߂ InterMezzo p
  A[LeN`уvgRLq܂B

  9.1.  ѐƗx

  InterMezzo ̓t@CVXeԂ̔Ɋɂѐۏ؂܂B
  t@C͊SȃjbgƂĂ݈̂At@C݂ŃN[Y
  ܂ŕύX͍L߂ꂸAVXe̕ύX͕ʂ̃VXeɒɔ
  fKv܂BInterMezzo 1.0 ł̓t@CVXeŜ
  Aǂ̎_ɂĂzXg̃t@CVXȅ
  ݃bNƂ\łB

  9.2.  intermezzo.oAJ[lW[

  Presto  InterMezzo p̃J[lW[łBVFS  InterMezzo
  t@CVXeɊ֘AlXȓsALento Ƃ̂̂
  ̉zfoCX쐬܂B

  9.3.  Lento

  Lento ̓[UԂ̃f[ŁAt@C] presto ɑđ
  ̃LbV֘A܂B}Egꂽ InterMezzo t@CVXe
  ɂ Lento ܂B

  9.4.  KML t@C

  }Egꂽ InterMezzo t@CVXeɂ KML t@C
  ܂BKML t@C̓t@CVXe̕ύX̃R[h܂݁A KML
  t@CS̓IɌƁAt@CVXeŜ̕\z邽߂̃X
  NvgƋKł܂B

  KML t@C͈ÃoCiR[hŁÅeX̓t@CVXeɑ
  ̏C\킵܂BeR[h͑̃R[hƊ֌WȂ_Ŏ
  ŁAR[heՂɓ̂łBR[h͉ϒŁA
  t@C̒őOɓ邽߂ɁAR[h̒͊eR[h
  ŏƍŌɊi[܂B KML R[htH[}bg̊SȋL
  q͂܂݂܂B

  9.5.  Last_rcvd t@C

  }Egꂽ InterMezzo t@CVXeɂ Expect t@C
  ܂BExpect t@ĆÃzXgё̃zXg KML t@C
  ւ̃|C^ێ邱ƂɂÃzXg̃zXgƓ
  @ɂĂ̏܂݂܂B̏̓t@CVXeɊi[
  ŁAu[gĂ͉i܂B

  Expect t@C̓[gzXgpɂꂼl̏܂B

  1. next_to_expect ɑ邱Ƃ҂郊[gzXg KML
     t@C̎̃R[hւ̃|C^B̒lŎn܂ȂR[h
     g݂𓾂ꍇAbZ[WǂŗƂÃzXgƂ̍Č
     KvłB̓qgł͂܂B

  2. next_to_send [gzXg֑\̎ KML t@C̎
     ̃R[hւ̃|C^Bf[^MꏈꂽƂ̊mF
     ꂽł͂ȂAʂ̃zXgփf[^𑗂炷 next_to_send 
     i߂̂ŁA͒PɃqgłBKML R[h[gzXgɑ
     ꍇAR[h KML ̂ǂɂ邩[gzXgɓ`
     ߂ɁAnext_to_send ̒l𑗂܂ (ȉ gap Z܂)B

  3. confirmed [gzXgMяƂ܂mF
     (confirmed) ĂȂ KML t@C̎̃R[h̎n܂
     ւ̃|C^B̓qgł͂܂B

  4. gap [gzXgփR[h𑗂O next_to_send ɉ钲B
     ́AOIɌt@CʒuێȂÃ[J
     KML t@CŃR[hOコ܂B̓qgł͂܂
     B

  9.6.  KML  Expect t@C̐ȕϊ

  ѐێ邽߂ɁAKML  Expect t@Cɑ΂邠̕
  AʂɃVXeтԂɊmɂĂ߁A
  ɃgUNV𗘗pčsȂ΂Ȃ܂B

  1. KML t@CɃR[hǉB͒ʏ VFS t@C̍
     ɗp鑀łBR[h KML t@CɒǉAExpect
     t@Cɑ΂C͍s܂B

  2. [g KML R[hgށB[J KML t@Cɑ΂鑀
     ̎sуR[h̒ǉɉÃzXg next_to_expect
     𑝉܂BKML  Expect t@CC܂B

  3. [gzXg KML R[h𑗂BKML R[h̃ubN
     next_to_send n܂ KML t@Cǂ܂A[g}V֑
     M܂Bnext_to_send ͓ǂ܂ꂽoCg̕܂BKML
     t@Ĉ̃ZNV̓ǏobNʓIɓ܂B KML ͓ǂ
     ܂CꂸAExpect t@C͏C܂B

  4. KML ̊mFBMяꂽR[h̃|C^Ɠ
     ̃oCg̑g݂ȂmF[gzXg܂B
     ̃ItZbg̓[gzXgȂ̂ŁÃzXg gap 
     A confirmed |C^ƍlĂ̂ƔrǍ
     confirmed |C^𓮂Ȃ΂Ȃ܂BKML ̏C͂܂
     B

  5. KML t@C̃ZNVœKBœK邽߂ɃZNV
     ݃bN擾AZNV̒ǏoA]ލœK
     sAĂя݂܂BVꂽZNV͑OƔב
     ȂĂ͂Ȃ炸A菬ꍇANOP ubNVZNV
     ̑Ö̗𖞂ߑ}܂B̃ZNV KML t@C
     ̏IɂꍇAKML t@C͏Iɂ NOP ubN폜
     邱ƂŐ؂l߂邱Ƃł܂B̌㏑݃bN͉
     BKML t@C͏CAExpect t@C͏C܂B

  6. KML t@C̃ZNVŔB폜ZNV͌ȓǏo
     ͏݃bNĂ͂Ȃ炸A̒ NOP R[h
     Ƃł܂B̌At@CVXẽ}WbN͊󔖂ȃt@
     C`K؂ȃt@CubN܂B Expect t@C
     ͕ύX܂B

  7. KML t@C̑Oʂ؂l߂B󔖂ȃt@C`
     ɁAKML t@C̎n߂폜ł܂BOL̑ŔƓlɁA
     ZNV͌ȓǏo͏݃bNĂ͂Ȃ
     ANOP 삾Ƃł܂B̌At@C͐؋l߂A
     ׂẴ[gzXgp gap ̒l͈̃gUNVŒ
     ܂B

  8. KML t@C NOP ubNXLbvB next_to_send 
     confirm ̗|C^ NOP ubN̊JnwĂ͂łB
      next_to_send, confirm, gap ׂ̂Ă NOP ubN̑傫
     ł܂BύX KML t@CōsȂ܂B
  10.  Ȁ

  InterMezzo EFuTCg http://www.inter-mezzo.org łB

  InterMezzo ̈ʓIȎ intermezzo-discuss@lists.sourceforge.net
  ɑ邱Ƃł܂B́AInterMezzo Ɋ֘A鑼̃[Xg
  l InterMezzo EFuTCgŃA[JCuĂ܂̂ŁAȂ
  ₪ɓꂽ̂ǂm߂邽߂ɂ`FbN鉿l
  邩܂B

  oO񍐂 sourceforge ɒoĂBgpĂ InterMezzo 
  o[WAVXe\̏ڍׁAώ@ꂽsYĂB

  ɁAK؂ȃOׂēYĂ - T[oуNCAg
  /var/log/messagesA(fobOŎs) Lento ̏óB

  11.  {ɂ

  { Linux Japanese FAQ Project s܂B|Ɋւ邲ӌ
   JF vWFNg <JF@linux.or.jp> ɘAĂB

     v1.0.5
        |: {_ <hng@ps.ksky.ne.jp>

        Z:
         m <cz@hykw.tv>

