Next Previous Contents

## 1. Introduction

- Volume databases (text)
- `/vice/vol/VolumeList` Holds partition and volume information for volumes for which this server is custodian. This is file is generated by srv.
- `/vice/vol/groupid` is maximum replicated volume id allocated so far.
- HOSTS (text)
  - Entries describe volume storage groups: id hostname1 hostname2 etc. Stored in /vice/db/VSGDB
  - `/vice/db/hosts` servers should be in this file. Servers found in the VSGDB are checked to be in this file before proceeding to make a volume.
  - `/vice/db/servers` contains an id for each server.

Createvol_rep works as follows: Parameters are: <volname> <vsgaddr> <partitionname> [ <groupid> ]

- check we are the SCM
- Check that the volname doesn't appear in AllVolumes or VRList
- Get the list of servers from the vsgaddr using the VSGDB
- verify the servers against /vice/db/hosts
- get a new replicated id for this replicated volume using the `/vice/vol/groupid` file
- use volutil to create the volume on each host, using the partition, volumename and groupid acquired before. Note that each server now assigns a volume id for this newly created volume. It dumps

## 1.1 bldvldb.sh

- get `/vice/vol/VolumeList` from each server in `/vice/db/hosts`. Names is server-name.list.new. First try this using ftp, then rfs, then krcp.
- if the file was acquired move it to `/vice/vol/remote/server-name.list`
- dump them all in `/vice/vol/BigVolumeList`
- volutil rebuilds the VLDB with `volutil makevldb /vice/vol/BigVolumeList`

Note this rebuilds the VLDB on the machine where is script is run, i.e. the scm.

Next Previous Contents