Révision 17
trunk/shell/create-start-front-end (revision 17) | ||
---|---|---|
1 |
#! /bin/bash |
|
1 |
#! /bin/bash -x
|
|
2 | 2 |
# |
3 |
# ST - 2012-03-09 |
|
4 |
# |
|
3 | 5 |
# Create and start the front end. |
4 | 6 |
# |
5 | 7 |
# Get the directory of the script. |
... | ... | |
22 | 24 |
fi |
23 | 25 |
|
24 | 26 |
# Create the VM system disk. |
25 |
COMPUTE_NODE_SYSTEM_DISK="${SYSTEM_DISK_CLONE_PREFIX}${NODE_NUMBER_STRING}${SYSTEM_DISK_CLONE_POSTFIX}" |
|
26 |
lvcreate -L$FRONT_END_SYSTEM_DISK_SIZE -s \ |
|
27 |
lvcreate -L$FRONT_END_SYSTEM_DISK_SIZE \ |
|
27 | 28 |
-n $FRONT_END_SYSTEM_DISK \ |
28 |
$FRONT_END_SYSTEM_LOGICAL_VOLUME
|
|
29 |
$FRONT_END_SYSTEM_VOLUME_GROUP
|
|
29 | 30 |
# Create a File System on the VM system disk. |
30 | 31 |
mkfs -t $FRONT_END_SYSTEM_DISK_FILE_SYSTEM \ |
31 |
$FRONT_END_SYSTEM_LOGICAL_VOLUME/$FRONT_END_SYSTEM_DISK
|
|
32 |
$FRONT_END_SYSTEM_VOLUME_GROUP_DEVICE/$FRONT_END_SYSTEM_DISK
|
|
32 | 33 |
# If necessary, create the swap volume for the front end. |
33 | 34 |
if [ $FRONT_END_SWAP_DISK_SIZE != $CONST_NULL_DISK_SIZE ]; then |
34 | 35 |
lvcreate -L $FRONT_END_SWAP_DISK_SIZE \ |
35 | 36 |
-n $FRONT_END_SWAP_DISK \ |
36 |
$FRONT_END_SYSTEM_LOGICAL_VOLUME
|
|
37 |
mkswap $FRONT_END_SYSTEM_LOGICAL_VOLUME/$FRONT_END_SWAP_DISK
|
|
37 |
$FRONT_END_SWAP_VOLUME_GROUP
|
|
38 |
mkswap $FRONT_END_SWAP_VOLUME_GROUP_DEVICE/$FRONT_END_SWAP_DISK
|
|
38 | 39 |
fi |
39 | 40 |
# Mount the system disk to copy all the specific files. |
40 | 41 |
if [ ! -d $FRONT_END_SYSTEM_DISK_MOUNT_POINT ]; then |
41 | 42 |
mkdir $FRONT_END_SYSTEM_DISK_MOUNT_POINT |
42 | 43 |
fi |
43 |
mount $FRONT_END_SYSTEM_LOGICAL_VOLUME/$FRONT_END_SYSTEM_DISK \
|
|
44 |
mount $FRONT_END_SYSTEM_VOLUME_GROUP_DEVICE/$FRONT_END_SYSTEM_DISK \
|
|
44 | 45 |
$FRONT_END_SYSTEM_DISK_MOUNT_POINT |
45 | 46 |
# |
46 | 47 |
# Configure the specific files from templates |
47 | 48 |
# |
48 | 49 |
# /etc/network/interfaces |
50 |
# The first interface is DHCP configured. |
|
49 | 51 |
CURRENT_PATH=/etc/network |
50 | 52 |
cp templates$CURRENT_PATH/$FRONT_END_INTERFACES_TEMPLATE \ |
51 | 53 |
$FRONT_END_SYSTEM_DISK_MOUNT_POINT/$CURRENT_PATH |
52 | 54 |
ADDRESS="$COMPUTE_NODE_STATIC_NETWORK_PREFIX.$FRONT_END_STATIC_NETWORK_POSTFIX" |
53 | 55 |
rpl __STATIC_ADDRESS__ $ADDRESS \ |
54 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT/$CURRENT_PATH/interfaces
|
|
56 |
$FRONT_END_SYSTEM_DISK_MOUNT_POINT/$CURRENT_PATH/interfaces |
|
55 | 57 |
# /etc/hostname |
56 | 58 |
CURRENT_PATH=/etc |
57 | 59 |
echo $CURRENT_HOST_NAME > "${COMPUTE_NODE_DISK_MOUNT_POINT}${CURRENT_PATH}/hostname" |
58 | 60 |
# /etc/hosts |
59 | 61 |
CURRENT_PATH=/etc |
60 |
CURRENT_HOST_IP="${COMPUTE_NODE_STATIC_NETWORK_PREFIX}.${NODE_NUMBER}"
|
|
62 |
CURRENT_HOST_IP="${COMPUTE_NODE_STATIC_NETWORK_PREFIX}.${FRONT_END_STATIC_NETWORK_POSTFIX}"
|
|
61 | 63 |
cp templates$CURRENT_PATH/hosts \ |
62 |
$COMPUTE_NODE_DISK_MOUNT_POINT/$CURRENT_PATH
|
|
64 |
$FRONT_END_SYSTEM_DISK_MOUNT_POINT/$CURRENT_PATH
|
|
63 | 65 |
rpl __COMPUTE_NODE_IP__ $CURRENT_HOST_IP \ |
64 |
${COMPUTE_NODE_DISK_MOUNT_POINT}${CURRENT_PATH}/hosts
|
|
66 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/hosts
|
|
65 | 67 |
rpl __COMPUTE_NODE_NAME__ $CURRENT_HOST_NAME \ |
66 |
${COMPUTE_NODE_DISK_MOUNT_POINT}${CURRENT_PATH}/hosts
|
|
68 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/hosts
|
|
67 | 69 |
# /etc/resolv.conf |
68 | 70 |
CURRENT_PATH=/etc |
69 | 71 |
cp $TEMPLATES_DIR$CURRENT_PATH/resolv.conf \ |
70 |
${COMPUTE_NODE_DISK_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
|
|
72 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
|
|
71 | 73 |
rpl __CLUSTER_DOMAIN_NAME__ "${CLUSTER_DOMAIN_NAME}." \ |
72 |
${COMPUTE_NODE_DISK_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
|
|
74 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
|
|
73 | 75 |
rpl __FRONT_END_STATIC_ADDRESS__ "${CLUSTER_STATIC_NETWORK_PREFIX}.$FRONT_END_STATIC_NETWORK_POSTFIX" \ |
74 |
${COMPUTE_NODE_DISK_MOUNT_POINT}${CURRENT_PATH}/resolv.conf |
|
76 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/resolv.conf |
|
77 |
exit 0 |
|
75 | 78 |
# |
76 | 79 |
# Get the MAC address |
77 | 80 |
# |
... | ... | |
146 | 149 |
do |
147 | 150 |
xm vcpu-pin $CURRENT_HOST_NAME $VCPU_NUM $i |
148 | 151 |
VCPU_NUM=$((VCPU_NUM + 1)) |
149 |
done |
|
152 |
done |
trunk/shell/c-i-a-b.common (revision 17) | ||
---|---|---|
1 |
# ST - 2012-03-09 |
|
1 | 2 |
# Constants that no one should not change. |
2 | 3 |
CONST_NULL_DISK_SIZE=0G |
3 | 4 |
# |
... | ... | |
21 | 22 |
DHCP_HOSTSFILE_BASENAME=dhcp-hostsfile |
22 | 23 |
FRONT_END_HOME_DISK_SIZE=512G |
23 | 24 |
FRONT_END_INTERFACES_TEMPLATE=interfaces.front-end |
24 |
FRONT_END_HOME_LOGICAL_VOLUME=/dev/vg_slow |
|
25 |
FRONT_END_HOME_VOLUME_GROUP=vg_slow |
|
26 |
FRONT_END_HOME_VOLUME_GROUP_DEVICE="/dev/$FRONT_END_HOME_VOLUME_GROUP" |
|
25 | 27 |
FRONT_END_NAME="frontend" |
26 | 28 |
FRONT_END_STATIC_NETWORK_POSTFIX=251 |
27 | 29 |
FRONT_END_SWAP_DISK="frontend-swap" |
28 |
FRONT_END_SWAP_DISK_SIZE=$CONST_NULL_DISK_SIZE # 0G means no swap disk. |
|
30 |
#FRONT_END_SWAP_DISK_SIZE=$CONST_NULL_DISK_SIZE # 0G means no swap disk. |
|
31 |
FRONT_END_SWAP_DISK_SIZE=1G # 0G means no swap disk. |
|
29 | 32 |
FRONT_END_SYSTEM_DISK="frontend-system-disk" |
30 | 33 |
FRONT_END_SYSTEM_DISK_SIZE=46G |
31 | 34 |
FRONT_END_SYSTEM_DISK_FILE_SYSTEM=ext3 |
32 | 35 |
FRONT_END_SYSTEM_DISK_MOUNT_POINT=/mnt/frontend-system-disk |
33 |
FRONT_END_SYSTEM_LOGICAL_VOLUME=/dev/vg_fast |
|
36 |
FRONT_END_SYSTEM_VOLUME_GROUP=vg_fast |
|
37 |
FRONT_END_SYSTEM_VOLUME_GROUP_DEVICE="/dev/$FRONT_END_SYSTEM_VOLUME_GROUP" |
|
38 |
FRONT_END_SWAP_VOLUME_GROUP=vg_fast |
|
39 |
FRONT_END_SWAP_VOLUME_GROUP_DEVICE="/dev/$FRONT_END_SWAP_VOLUME_GROUP" |
|
34 | 40 |
FRONT_END_VCPUS=3 |
35 | 41 |
HOSTS_FILE_BASENAME=hosts |
36 | 42 |
SWAP_DISK_LOGICAL_VOLUME=/dev/vg_fast |
trunk/shell/templates/etc/xen/front-end.cfg (revision 17) | ||
---|---|---|
1 |
# |
|
2 |
# Template file for the Xen instance compute-node. |
|
3 |
# |
|
4 |
|
|
5 |
# |
|
6 |
# Kernel + memory size |
|
7 |
# |
|
8 |
kernel = '__COMPUTE_NODE_KERNEL__' |
|
9 |
ramdisk = '__COMPUTE_NODE_RAMDISK__' |
|
10 |
|
|
11 |
memory = '__COMPUTE_NODE_MEMORY__' |
|
12 |
|
|
13 |
# (V)CPU management |
|
14 |
|
|
15 |
vcpus = '__COMPUTE_NODE_VCPUS__' |
|
16 |
cpus = '__COMPUTE_NODE_CPUS__' |
|
17 |
|
|
18 |
# |
|
19 |
# Disk device(s). |
|
20 |
# |
|
21 |
root = '/dev/xvda2 ro' |
|
22 |
disk = [ |
|
23 |
'phy:__COMPUTE_NODE_SYSTEM_DISK__,xvda2,w', |
|
24 |
'phy:__COMPUTE_NODE_SWAP_DISK__,xvda1,w', |
|
25 |
] |
|
26 |
|
|
27 |
|
|
28 |
# |
|
29 |
# Physical volumes |
|
30 |
# |
|
31 |
|
|
32 |
|
|
33 |
# |
|
34 |
# Hostname |
|
35 |
# |
|
36 |
name = '__COMPUTE_NODE_HOST_NAME__' |
|
37 |
|
|
38 |
# |
|
39 |
# Networking |
|
40 |
# |
|
41 |
vif = [ 'ip=__COMPUTE_NODE_IP__,mac=__COMPUTE_NODE_MAC__,bridge=__COMPUTE_NODE_BRIDGE__', ] |
|
42 |
|
|
43 |
# |
|
44 |
# Behaviour |
|
45 |
# |
|
46 |
on_poweroff = 'destroy' |
|
47 |
on_reboot = 'restart' |
|
48 |
on_crash = 'restart' |
|
49 |
|
|
50 |
|
|
51 |
|
Formats disponibles : Unified diff