glenda.party
term% ls -F
term% cat index.txt
FSCONFIG(8)                 System Manager's Manual                FSCONFIG(8)



NAME
       fsconfig - configuring a file server

SYNOPSIS
       service name

       config device

       nvram device

       filsys name device

       ip ipaddr

       ipgw ipaddr

       ipmask ipaddr

       ipauth ipaddr

       ipsntp ipaddr

       ream name

       recover name

       allow

       readonly

       noauth

       noattach

       copyworm

       copydev from-dev to-dev

       halt

       end

DESCRIPTION
       When  an  fs(4) file server's configuration has not been set, or by ex‐
       plicit request early in the server's initialization  (see  fs(8)),  the
       server enters `config mode'.  The commands described here apply only in
       that mode.  They establish configuration constants that  are  typically
       valid  for the life of the server, and therefore need be run only once.
       If the non-volatile RAM on the server gets erased, it will be necessary
       to recreate the configuration.

   Syntax
       In  these  commands,  ipaddr is an IP address in the form 111.103.94.19
       and name is a text string without white space.  The syntax of a  device
       is more complicated:

       wn1.n2.n3
              Defines  a  SCSI  disk  on target (unit) id n2, controller (host
              adapter) n1, and LUN (logical unit number) n3.  A single  number
              specifies  a  target, while two numbers specify target.lun, with
              the missing numbers defaulting to zero.  Any one of the  numbers
              may be replaced by <m-n> to represent the values m through n in‐
              clusive.  M may be greater than n.  For example, (w<1-4>) is the
              concatenation of SCSI targets 1 through 4.

       hn1.n2.n3
              H is similar to w, but for IDE or ATA disks, and the controllers
              must be specified in plan9.ini.  Lun is ignored.  Target 0 is an
              IDE  master  and 1 is a slave.  Instead of specifying controller
              and target separately, one may omit the controller and specify a
              target of controller-number*2 + target-number, thus h2 is equiv‐
              alent to h1.0.0 (second IDE controller, master drive).

       mn1.n2.n3
              M is similar to h, but for  SATA  drives  connected  to  Marvell
              88SX[56]0[48][01]  controllers.  There is no need to specify the
              controllers in plan9.ini as they are autodiscovered.   Hot-swap‐
              ping  drives  is not currently supported.  Similar target naming
              rules apply as for IDE controllers.  However the controller-num‐
              ber  is  multiplied  by the number of drives the controller sup‐
              ports rather than 2.  Thus m9 is equivalent  to  m1.1.0  (second
              controller,  second  drive),  if the first controller supports 8
              drives.

       ln1.n2.n3

       rn1.n2.n3
              The same as w, but leaving a single block at the beginning for a
              label (l), or not.  Only n2 is really of interest, and refers to
              a side of a WORM disc.  These are only really relevant when used
              as device3 in the j device (see below).

       (device...)
              A  pseudo-device formed from the concatenation of the devices in
              the list.  The devices are not blank- or comma-separated.

       [device...]
              A pseudo-device formed from the block-wise interleaving  of  the
              devices  in  the  list.  The size of the result is the number of
              devices times the size of the smallest device.

       {device...}
              A pseudo-device formed from the mirroring of the first device in
              the  list  onto  all  the others.  The size of the result is the
              size of the smallest device.  One might think of this as RAID 1,
              and  [  ]  as RAID 0, though neither includes any fancy recovery
              mechanisms.  Each block is written to all the devices,  starting
              with the rightmost in the list and working leftward.  A block is
              read from the first  device  that  provides  it  without  error,
              starting with the leftmost in the list and working rightward.

       pdevice.n1.n2
              A  partition starting at n1% from the beginning of device with a
              length n2% of the size of the device.  Parenthesize device if it
              contains periods.

       xdevice
              A  pseudo-device  that contains the byte-swapped contents of de‐
              vice.  Since the file server writes integers to disk in its  na‐
              tive  byte order, it can be necessary to use this device to read
              file systems written by processors of the other byte order.

       j(device1 device2...)device3
              Device1 is the SCSI juke box interface.  The  device2s  are  the
              SCSI  drives  in the jukebox and device3 represents the demount‐
              able platters in the juke box.

       fdevice
              A pseudo-WORM disk: blocks on device can be  written  only  once
              and may not be read unless written.

       cdevice1device2
              A  cached  WORM.   The first device is the cache, the second the
              WORM.

       o      (Letter o) The read-only (dump) file system of the most-recently
              defined cached WORM file system.

   Configuration
       The service command sets the textual name of the server as known in the
       network databases.

       The configuration information is stored in block zero on a device whose
       device  string  is  written  in non-volatile RAM.  The config and nvram
       commands identify the device on which the information is recorded.  The
       config command also erases any previous configuration.

       The  filsys  command  configures  a  file system on device and calls it
       name.  Name is used as the specifier in attach messages to  connect  to
       that  file system.  (The file system main is the one attached to if the
       specifier is null; see attach(5)).

       The rest of the configuration commands record IP  addresses:  the  file
       server's  address (ip), the local gateway's (ipgw), the local authenti‐
       cation server's (ipauth), the local subnet mask (ipmask), and  the  ad‐
       dress of a system running an SNTP server (ipsntp).  Ipauth is no longer
       used.  If the server has more than one network interface, a  digit  may
       be  appended to the keywords ip, ipgw and ipmask to indicate the inter‐
       face number; zero is the default.

   One-time actions
       The ream command initializes the named file system.  It overwrites  any
       previous  file  system on the same device and creates an empty root di‐
       rectory on the device.  If name is main, the  file  server,  until  the
       next  reboot,  will accept wstat messages (see stat(5)) that change the
       owner and group of files, to enable initializing a  fresh  file  system
       from a mkfs(8) archive.

       For  the  recover command, the named file system must be a cached WORM.
       Recover clears the associated magnetic cache and initializes  the  file
       system, effectively resetting its contents to the last dump.

       Allow turns off all permission checking; use with caution.

       Readonly  disables all writing to all devices.  This is useful for try‐
       ing dangerous experiments.

       Noauth disables authentication.

       Noattach prevents attachs.

       Copyworm will copy a file system named main to one named output,  block
       by block, and loop.  It knows how to read a fake worm file system.

       Copydev  will  copy the device from-dev to the device to-dev.  block by
       block, and panic.

       Halt will cause the server to immediately exit and reboot.

       The various configuration commands only record what to do;  they  write
       no  data to disk.  The command end exits config mode and begins running
       the file server proper.  The server will then perform whatever  I/O  is
       required to establish the configuration.

EXAMPLE
       Initialize  a  file server kgbsun with a single file system interleaved
       between SCSI targets 3 and 4.

              service kgbsun
              config w3
              filsys main [w<3-4>]
              ream main

       Initialize a file server kremvax with a single disk on target 0  parti‐
       tioned  as a cached pseudo-WORM file system with the cache on the third
       quarter of the drive and the  pseudo-WORM  on  the  interleave  of  the
       first, second, and fourth quarters.

              service kremvax
              config p(w0)50.1
              filsys main cp(w0)50.25f[p(w0)0.25p(w0)25.25p(w0)75.25]
              filsys dump o
              ream main

       A  complete  and  complex  example: initialize a file server fsb with a
       single SCSI disk on target 0 for a scratch file system, a  cached  WORM
       file  system with cache disk on target 2 and an optical-disc jukebox on
       targets 4 (robotics) and 5 (one optical drive), and another cached WORM
       file  system with cache disk on target 3 and another optical-disc juke‐
       box on a second SCSI bus at targets 3 and 4.  Both jukeboxes contain 16
       slots  of  optical discs.  It has two Ethernet interfaces and can reach
       an SNTP server on the first one.

              service fsb
              config w0
              filsys main cw2j(w4w5)(l<0-31>)
              filsys dump o
              filsys hp40fx cw3j(w1.<3-4>.0)(l<0-31>)
              filsys hp40fxdump o
              filsys other w0
              ipauth 0.0.0.0
              ipsntp 10.9.0.3
              ip0 10.9.0.2
              ipgw0 10.9.0.3
              ipmask0 255.255.0.0
              ip1 10.0.0.2
              ipgw1 10.0.0.1
              ipmask1 255.255.0.0
              ream main
              ream hp40fx
              ream other
              end

SOURCE
       /sys/src/fs/port/config.c

SEE ALSO
       Ken Thompson, ``The Plan 9 File Server''.



                                                                   FSCONFIG(8)