Révision 23

trunk/shell/create-start-front-end (revision 23)
23 23
    exit 1
24 24
fi
25 25

  
26
# Create the VM system disk.
26
# Create the front-end system disk.
27 27
lvcreate -L$FRONT_END_SYSTEM_DISK_SIZE \
28 28
         -n  $FRONT_END_SYSTEM_DISK \
29 29
         $FRONT_END_SYSTEM_VOLUME_GROUP
30
# Create a File System on the VM system disk.
30
# Create a File System on the front-end system disk.
31 31
mkfs -t $FRONT_END_SYSTEM_DISK_FILE_SYSTEM \
32 32
        $FRONT_END_SYSTEM_VOLUME_GROUP_DEVICE/$FRONT_END_SYSTEM_DISK
33 33
# If necessary, create the swap volume for the front end.
......
37 37
           $FRONT_END_SWAP_VOLUME_GROUP
38 38
  mkswap $FRONT_END_SWAP_VOLUME_GROUP_DEVICE/$FRONT_END_SWAP_DISK
39 39
fi
40
# Create the VM home disk.
41
lvcreate -L$FRONT_END_HOME_DISK_SIZE \
42
         -n  $FRONT_END_HOME_DISK \
43
         $FRONT_END_HOME_VOLUME_GROUP
44
# Create a File System on the front-end system disk.
45
mkfs -t $FRONT_END_HOME_DISK_FILE_SYSTEM \
46
        $FRONT_END_HOME_VOLUME_GROUP_DEVICE/$FRONT_END_HOME_DISK
40 47
# Mount the system disk to copy all the specific files.
41 48
if [ ! -d $FRONT_END_SYSTEM_DISK_MOUNT_POINT ]; then
42 49
  mkdir $FRONT_END_SYSTEM_DISK_MOUNT_POINT
......
53 60
# Create the Xen configuration file from a template
54 61
#
55 62
CURRENT_PATH=/etc/xen
56
cp templates$CURRENT_PATH/front-end.cfg \
57
   $SCRIPT_PATH/$CURRENT_HOST_NAME.cfg
58
rpl Template Configuration $SCRIPT_PATH/$CURRENT_HOST_NAME.cfg
63
cp templates$CURRENT_PATH/$CONST_FRONT_END_TEMPLATE_NAME \
64
   $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
65
rpl Template Configuration $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
59 66
rpl __FRONT_END_KERNEL__ $COMPUTE_NODE_KERNEL \
60
   $SCRIPT_PATH/$CURRENT_HOST_NAME.cfg
61
rpl __FRONT_END_RAMDISK__ $COMPUTE_NODE_RAMDISK \
62
   $SCRIPT_PATH/$CURRENT_HOST_NAME.cfg
63
rpl __FRONT_END_MEMORY__ $COMPUTE_NODE_MEMORY \
64
   $SCRIPT_PATH/$CURRENT_HOST_NAME.cfg
65
rpl __FRONT_END_VCPUS_NUM__ $COMPUTE_NODE_VCPUS_NUM \
66
   $SCRIPT_PATH/$CURRENT_HOST_NAME.cfg
67
   $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
68
rpl __FRONT_END_RAMDISK__ $FRONT_END_RAMDISK \
69
   $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
70
rpl __FRONT_END_MEMORY__ $FRONT_END_MEMORY \
71
   $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
72
rpl __FRONT_END_VCPUS_NUM__ $FRONT_END_VCPUS_NUM \
73
   $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
67 74
CPUS_LIST=$FRONT_END_CPUS_LIST
68 75
CPUS=""
69 76
for i in $CPUS_LIST
......
76 83
    fi
77 84
done
78 85
rpl __FRONT_END_CPUS__ $CPUS \
79
   $SCRIPT_PATH/$CURRENT_HOST_NAME.cfg
86
   $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
80 87
rpl __FRONT_END_SYSTEM_DISK__ $FRONT_END_SYSTEM_VOLUME_GROUP_DEVICE/$FRONT_END_SYSTEM_DISK \
81
   $SCRIPT_PATH/$CURRENT_HOST_NAME.cfg
82
rpl __FRONT_END_HOME_DISK__ $FRONT_END_SYSTEM_VOLUME_GROUP_DEVICE/$FRONT_END_SYSTEM_DISK \
83
   $SCRIPT_PATH/$CURRENT_HOST_NAME.cfg
88
   $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
89
rpl __FRONT_END_HOME_DISK__ $FRONT_END_HOME_VOLUME_GROUP_DEVICE/$FRONT_END_HOME_DISK \
90
   $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
84 91
if [ "x$FRONT_END_SWAP_DISK_SIZE" != "x$CONST_NULL_DISK_SIZE" ] ; then
85 92
  FRONT_END_SWAP_DISK_STANZA="'phy:$FRONT_END_SWAP_VOLUME_GROUP_DEVICE/${FRONT_END_SWAP_DISK},xvda3,w',"
86 93
  rpl __FRONT_END_SWAP_DISK__ $FRONT_END_SWAP_DISK_STANZA \
87
     $SCRIPT_PATH/$CURRENT_HOST_NAME.cfg
88
  rpl __FRONT_END_NOSWAP__ "" \
89
     $SCRIPT_PATH/$CURRENT_HOST_NAME.cfg
94
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
95
  # Comment out the noswap stanza.
96
  rpl __FRONT_END_NOSWAP__ "#$CLUSTER_NOSWAP" \
97
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
90 98
else
99
  echo y | rpl -f __FRONT_END_SWAP_DISK__ "" \
100
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
91 101
  rpl __FRONT_END_NOSWAP__ $CLUSTER_NOSWAP \
92
     $SCRIPT_PATH/$CURRENT_HOST_NAME.cfg
102
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
93 103
fi
94 104
rpl __FRONT_END_HOST_NAME__ $CURRENT_HOST_NAME \
95
   $SCRIPT_PATH/$CURRENT_HOST_NAME.cfg
105
   $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
96 106

  
107
VIF_STANZA=$CONST_XEN_VIF_STANZA_PREFIX
108
EXTERNAL_MAC="${CONST_XEN_MAC_PREFIX}${FRONT_END_EXTERNAL_MAC_ADDRESS}"
109
INTERNAL_MAC="${CONST_XEN_MAC_PREFIX}${FRONT_END_CLUSTER_MAC_ADDRESS}"
110
INTERNAL_BRIDGE="{$CONST_XEN_BRIDGE_PREFIX}${CLUSTER_BRIDGE_NAME}"
111
INTERNAL_IP=$FRONT_END_CLUSTER_STATIC_IP
97 112
if [ $CLUSTER_EXTERNAL_ADDRESSES_BY_DHCP -eq 1 ] ;then
113
  rpl __XEN_DHCP_STANZA__ "$CONST_XEN_DHCP_STANZA" \
114
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
115
  VIF_STANZA="${VIF_STANZA}${EXTERNAL_MAC}','${INTERNAL_IP},${INTERNAL_MAC},${INTERNAL_BRIDGE}${CONST_XEN_VIF_STANZA_POSTFIX}"
98 116
else
99
fi  
100
rpl __FRONT_END_IP_EXTERNAL__ $ADDRESS \
101
   $SCRIPT_PATH/$CURRENT_HOST_NAME.cfg
102
rpl __FRONT_END_IP_CLUSTER__ $ADDRESS \
103
   $SCRIPT_PATH/$CURRENT_HOST_NAME.cfg
104
rpl __FRONT_END_CLUSTER_MAC_ADDRESS__ $__FRONT_END_CLUSTER_MAC_ADDRESS__ \
105
   $SCRIPT_PATH/$CURRENT_HOST_NAME.cfg
106
rpl __FRONT_END_CLUSTER_MAC_ADDRESS__ $__FRONT_END_CLUSTER_MAC_ADDRESS__ \
107
   $SCRIPT_PATH/$CURRENT_HOST_NAME.cfg
108
rpl __CLUSTER_BRIDGE_NAME__ $CLUSTER_BRIDGE_NAME \
109
   $SCRIPT_PATH/$CURRENT_HOST_NAME.cfg
110

  
117
  # Comment out the DHCP_STANZA.
118
  rpl __XEN_DHCP_STANZA__ "#$CONST_XEN_DHCP_STANZA" \
119
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
120
  VIF_STANZA="${VIF_STANZA}${EXTERNAL_IP},${EXTERNAL_MAC},'${INTERNAL_IP},${INTERNAL_MAC},${INTERNAL_BRIDGE}${CONST_XEN_VIF_STANZA_POSTFIX}"
121
fi
122
# In any case, write the VIF_STANZA
123
rpl __VIF_STANZA__ $VIF_STANZA \
124
   $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
111 125
#
126
exit 0
127
#
112 128
# Umount the compute node system disk
113 129
#
114
umount $COMPUTE_NODE_DISK_MOUNT_POINT
130
umount $FRONT_END_SYSTEM_DISK_MOUNT_POINT
115 131
#
116 132
# Start the virtual machine
117 133
#
trunk/shell/c-i-a-b.common (revision 23)
2 2
# Constants that no one should not change.
3 3
CONST_NULL_DISK_SIZE=0G # For several configuration files.
4 4
CONST_NO_DHCP="NO_DHCP"
5
CONST_FRONT_END_TEMPLATE_NAME="front-end.cfg"
5 6
#
6 7
# Constant that may change with another Xen version.
7
CONST_XEN_DHCP_STANZA="dhcp=          ='dhcp'"
8
CONST_XEN_BRIDGE_PREFIX="bridge="
9
CONST_XEN_DHCP_STANZA="dhcp        ='dhcp'"
10
CONST_XEN_CONFIG_DIR="/etc/xen"
8 11
CONST_XEN_DOM0_CPUS_ALL="(dom0-cpus 0)"
9 12
CONST_XEN_DOM0_NAME=Domain-0
13
CONST_XEN_IP_PREFIX="ip="
14
CONST_XEN_MAC_PREFIX="mac="
10 15
CONST_XEN_NOSWAP="noswap = 1" # For /etc/xen-tools/xen-tools.conf.
11 16
CONST_XEN_NETWORK_SCRIPT_KEYWORD=network-script # For /etc/xen/xend-config.sxp.
17
CONST_XEN_VIF_STANZA_POSTFIX="' ]"
18
CONST_XEN_VIF_STANZA_PREFIX="vif         = [ '"
12 19
#
13 20
# Common user defined configuration variables
14 21
#
......
17 24
CLUSTER_BRIDGE_SCRIPT=network-bridge-internal
18 25
CLUSTER_BRIDGE_STANZA="($CONST_NETWORK_SCRIPT_KEYWORD $CLUSTER_BRIDGE_SCRIPT)"
19 26
CLUSTER_EXTERNAL_ADDRESSES_BY_DHCP=1
27
CLUSTER_EXTERNAL_MAC_PREFIX="00:16:3E:33:A6:"
20 28
CLUSTER_IMAGE=full
21 29
CLUSTER_DOMAIN_NAME=ciab.lip.ens-lyon.fr
22 30
CLUSTER_NOSWAP="$CONST_XEN_NOSWAP"
31
CLUSTER_STATIC_EXTERNAL_PREFIX="140.77.15"
23 32
CLUSTER_STATIC_NETWORK_PREFIX="192.168.1"
24 33
CLUSTER_SWAP_SIZE=$CONST_NULL_DISK_SIZE
34
#
25 35
COMPUTE_NODE_BRIDGE=$CLUSTER_BRIDGE_NAME
26 36
COMPUTE_NODE_CPUS_FILE=compute-nodes-cpus
27 37
COMPUTE_NODE_DISK_MOUNT_POINT=/mnt/compute-node-system-disk
28 38
COMPUTE_NODE_INTERFACES_TEMPLATE=interfaces.compute-node
29 39
COMPUTE_NODE_KERNEL=/boot/vmlinuz-`uname -r`
30
COMPUTE_NODE_RAMDISK=/boot/initrd.img-`uname -r`
31 40
COMPUTE_NODE_MAC_ADDRESS_PREFIX="00:16:3E:0F:6A"
32 41
COMPUTE_NODE_MAX_NUM=250
33 42
COMPUTE_NODE_MEMORY=3072
34
COMPUTE_NODE_MODEL_EXTERNAL_MAC_ADDRESS="00:16:3E:33:A6:01"
43
COMPUTE_NODE_MODEL_EXTERNAL_MAC_ADDRESS="${CLUSTER_EXTERNAL_MAC_PREFIX}01"
35 44
COMPUTE_NODE_MODEL_STATIC_NETWORK_POSTFIX=252
36 45
COMPUTE_NODE_MODEL_STATIC_IP_EXTERNAL=
37
COMPUTE_NODE_MODEL_NAME="compute-node-model"
46
COMPUTE_NODE_MODEL_HOST_NAME="tamadi-1-cnm"
38 47
COMPUTE_NODE_NAME_PREFIX="compute-node-"
48
COMPUTE_NODE_RAMDISK=/boot/initrd.img-`uname -r`
39 49
COMPUTE_NODE_STATIC_NETWORK_PREFIX=$CLUSTER_STATIC_NETWORK_PREFIX
50
COMPUTE_NODE_SWAP_DISK_POSTFIX="-swap"
51
COMPUTE_NODE_SWAP_DISK_PREFIX="compute-node-"
52
COMPUTE_NODE_SWAP_DISK_SIZE=1G
53
SWAP_DISK_VOLUME_GROUP=/dev/vg_fast
40 54
DHCP_HOSTSFILE_BASENAME=dhcp-hostsfile
41 55
DOM0_CPUS_LIST="0 4"
42 56
DOM0_CPUS_NUM=2
43 57
DOM0_CPUS_CLAUSE="(dom0-cpus $DOM0_CPUS_NUM)"
44 58
FRONT_END_CPUS_LIST="8 12 16"
45
FRONT_END_EXTERNAL_MAC_ADDRESS="00:16:3E:33:A6:02"
46
FRONT_END_MEMORY=8G
47
FRONT_END_HOME_DISK_SIZE=512G
59
FRONT_END_EXTERNAL_MAC_ADDRESS="${CLUSTER_EXTERNAL_MAC_PREFIX}02"
60
FRONT_END_HOME_DISK=front-end-home-disk
61
FRONT_END_HOME_DISK_FILE_SYSTEM=ext3
62
#FRONT_END_HOME_DISK_SIZE=512G
63
FRONT_END_HOME_DISK_SIZE=10G
48 64
FRONT_END_HOME_VOLUME_GROUP=vg_slow
49 65
FRONT_END_HOME_VOLUME_GROUP_DEVICE="/dev/$FRONT_END_HOME_VOLUME_GROUP"
50
FRONT_END_HOST_NAME="front-end"
66
FRONT_END_HOST_NAME="tamadi-1-fe"
51 67
FRONT_END_INTERFACES_TEMPLATE=interfaces.front-end
52 68
FRONT_END_KERNEL=/boot/vmlinuz-`uname -r`
69
FRONT_END_MEMORY=8G
70
FRONT_END_STATIC_NETWORK_POSTFIX=251
71
FRONT_END_CLUSTER_STATIC_IP="$CLUSTER_STATIC_NETWORK_PREFIX.$FRONT_END_STATIC_NETWORK_POSTFIX"
72
FRONT_END_EXTERNAL_STATIC_IP="$CLUSTER_STATIC_NETWORK_PREFIX.$FRONT_END_STATIC_NETWORK_POSTFIX"
53 73
FRONT_END_RAMDISK=/boot/initrd.img-`uname -r`
54
FRONT_END_STATIC_NETWORK_POSTFIX=251
55
FRONT_END_STATIC_IP_CLUSTER="$CLUSTER_STATIC_NETWORK_PREFIX.$FRONT_END_STATIC_NETWORK_POSTFIX"
56
FRONT_END_STATIC_IP_EXTERNAL="$CLUSTER_STATIC_NETWORK_PREFIX.$FRONT_END_STATIC_NETWORK_POSTFIX"
57 74
FRONT_END_SWAP_DISK="frontend-swap"
58 75
#FRONT_END_SWAP_DISK_SIZE=$CONST_NULL_DISK_SIZE # 0G means no swap disk.
59 76
FRONT_END_SWAP_DISK_SIZE=1G # 0G means no swap disk.
60 77
FRONT_END_SWAP_VOLUME_GROUP=vg_fast
61 78
FRONT_END_SWAP_VOLUME_GROUP_DEVICE="/dev/$FRONT_END_SWAP_VOLUME_GROUP"
62 79
FRONT_END_SYSTEM_DISK="frontend-system-disk"
63
FRONT_END_SYSTEM_DISK_SIZE=46G
80
#FRONT_END_SYSTEM_DISK_SIZE=46G
81
FRONT_END_SYSTEM_DISK_SIZE=10G
64 82
FRONT_END_SYSTEM_DISK_FILE_SYSTEM=ext3
65 83
FRONT_END_SYSTEM_DISK_MOUNT_POINT=/mnt/frontend-system-disk
66 84
FRONT_END_SYSTEM_VOLUME_GROUP=vg_fast
67 85
FRONT_END_SYSTEM_VOLUME_GROUP_DEVICE="/dev/$FRONT_END_SYSTEM_VOLUME_GROUP"
68 86
FRONT_END_VCPUS_NUM=3
69 87
HOSTS_FILE_BASENAME=hosts
70
SWAP_DISK_LOGICAL_VOLUME=/dev/vg_fast
71
SWAP_DISK_POSTFIX="-swap"
72
SWAP_DISK_PREFIX="compute-node-"
73
SWAP_DISK_SIZE=1G
74 88
SYSTEM_DISK_CLONE_POSTFIX="-disk"
75 89
SYSTEM_DISK_CLONE_PREFIX=$COMPUTE_NODE_NAME_PREFIX
76 90
SYSTEM_DISK_CLONE_SIZE=20G # Half of the master size.
trunk/shell/templates/etc/xen/front-end.cfg (revision 23)
38 38
#  Networking
39 39
#
40 40
__XEN_DHCP_STANZA__
41
vif         = [ 'ip=__FRONT_END_IP_EXTERNAL__,mac=__FRONT_END_EXTERNAL_MAC_ADDRESS__', '__FRONT_END_IP_CLUSTER__,mac=__FRONT_END_CLUSTER_MAC_ADDRESS__,bridge=__CLUSTER_BRIDGE_NAME__' ] 
41

  
42 42
__VIF_STANZA__
43 43
#
44 44
#  Behaviour

Formats disponibles : Unified diff