Révision 38
trunk/shell/pin-dom0-vcpus (revision 38) | ||
---|---|---|
1 |
#! /bin/sh -x |
|
2 |
# |
|
3 |
# ST 2012-05-15 |
|
4 |
# |
|
5 |
# Pint the dom0 vcpus. |
|
6 |
# |
|
7 |
# Get the directory of the script. |
|
8 |
SCRIPT_PATH=`dirname $0` |
|
9 |
# Get the script name. |
|
10 |
SCRIPT_NAME=`basename $0` |
|
11 |
# Source the common configuration variables. |
|
12 |
. $SCRIPT_PATH/c-i-a-b.common |
|
13 |
# |
|
14 |
# Pin the VPCU to the selected CPU for dom0 |
|
15 |
VCPU_NUM=0 |
|
16 |
for i in $DOM0_CPUS_LIST; do |
|
17 |
xm vcpu-pin $CONST_XEN_DOM0_NAME $VCPU_NUM $i |
|
18 |
VCPU_NUM=$((VCPU_NUM + 1)) |
|
19 |
done |
|
20 |
|
trunk/shell/front-end-finish-up (revision 38) | ||
---|---|---|
15 | 15 |
# |
16 | 16 |
# Get the cluster MAC address |
17 | 17 |
# |
18 |
CURRENT_PATH=/etc |
|
18 | 19 |
FRONT_END_CLUSTER_MAC_ADDRESS=\ |
19 | 20 |
`awk -F, -v INDEX=$CONST_FRONT_END_CLUSTER_STATIC_NETWORK_POSTFIX '{if (FNR==INDEX) {print $1}}' $SCRIPT_PATH/$TEMPLATES_DIR$CURRENT_PATH/$CONST_DHCP_HOSTS_FILE_BASENAME` |
20 | 21 |
# |
... | ... | |
239 | 240 |
umount $FRONT_END_FILE_SYSTEM_MOUNT_POINT/home |
240 | 241 |
umount $FRONT_END_FILE_SYSTEM_MOUNT_POINT |
241 | 242 |
# |
242 |
# Start the virtual machine |
|
243 |
# |
|
244 |
xm create $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg |
|
245 |
# |
|
246 | 243 |
exit 0 |
247 |
# |
|
248 |
# Wait until the virtual machine has started |
|
249 |
# |
|
250 |
IS_RUNNING="" |
|
251 |
while [ -z "$IS_RUNNING" ] |
|
252 |
do |
|
253 |
IS_RUNNING=`xm list | grep $CURRENT_HOST_NAME` |
|
254 |
sleep 1 |
|
255 |
done |
|
256 |
# |
|
257 |
# Pin the VCPUs to "real" CPUs. |
|
258 |
# |
|
259 |
VCPU_NUM=0 |
|
260 |
for i in $CPUS_LIST |
|
261 |
do |
|
262 |
xm vcpu-pin $CURRENT_HOST_NAME $VCPU_NUM $i |
|
263 |
VCPU_NUM=$((VCPU_NUM + 1)) |
|
264 |
done |
|
265 |
|
|
266 |
exit 0 |
trunk/shell/c-i-a-b.common (revision 38) | ||
---|---|---|
17 | 17 |
CONST_SWAP_DISK_POSTFIX="swap-disk" |
18 | 18 |
CONST_SYSTEM_DISK_POSTFIX="system-disk" |
19 | 19 |
# |
20 |
# Constant that may change with Debian version |
|
20 |
# Constants that may change with Debian version
|
|
21 | 21 |
CONST_DEBIAN_ARCH=amd64 |
22 | 22 |
CONST_DEBIAN_VERSION=stable |
23 |
# Constant that may change with another Xen version. |
|
23 |
# Constants that may change with another Xen version. |
|
24 |
# Order matters! |
|
24 | 25 |
CONST_XEN_BRIDGE_PREFIX="bridge=" |
26 |
CONST_XEN_CONFIG_DIR="/etc/xen" |
|
27 |
CONST_XEN_VIRTUAL_CONSOLE_NAME="hvc0" # See below. |
|
25 | 28 |
CONST_XEN_DHCP_STANZA="dhcp ='dhcp'" |
26 |
CONST_XEN_CONFIG_DIR="/etc/xen" |
|
27 | 29 |
CONST_XEN_DOM0_CPUS_ALL="(dom0-cpus 0)" |
28 | 30 |
CONST_XEN_DOM0_NAME=Domain-0 |
29 |
CONST_XEN_EXTRA_STANZA="extra = '4 console=hvc0 xencons=tty'"
|
|
31 |
CONST_XEN_EXTRA_STANZA="extra = '4 console=$CONST_XEN_VIRTUAL_CONSOLE_NAME xencons=tty'"
|
|
30 | 32 |
CONST_XEN_IP_PREFIX="ip=" |
31 | 33 |
CONST_XEN_MAC_PREFIX="mac=" |
32 | 34 |
CONST_XEN_NOSWAP="noswap = 1" # For /etc/xen-tools/xen-tools.conf. |
... | ... | |
68 | 70 |
COMPUTE_NODE_MODEL_EXTERNAL_MAC_ADDRESS="${CLUSTER_EXTERNAL_MAC_PREFIX}01" |
69 | 71 |
COMPUTE_NODE_MODEL_STATIC_IP_EXTERNAL= |
70 | 72 |
COMPUTE_NODE_MODEL_HOST_NAME="tamadi-1-cnm" |
73 |
COMPUTE_NODE_MODEL_CLUSTER_HOST_NAME="compute-node-model" |
|
71 | 74 |
COMPUTE_NODE_NAME_PREFIX="${CONST_COMPUTE_NODE}-" |
72 | 75 |
COMPUTE_NODE_RAMDISK=/boot/initrd.img-`uname -r` |
73 | 76 |
COMPUTE_NODE_STATIC_NETWORK_PREFIX=$CLUSTER_STATIC_NETWORK_PREFIX |
... | ... | |
100 | 103 |
FRONT_END_HOME_VOLUME_GROUP=vg_slow |
101 | 104 |
FRONT_END_HOME_VOLUME_GROUP_DEVICE="/dev/$FRONT_END_HOME_VOLUME_GROUP" |
102 | 105 |
FRONT_END_HOST_NAME="tamadi-1-fe" |
106 |
FRONT_END_CLUSTER_HOSTNAME="front-end" |
|
103 | 107 |
FRONT_END_INTERFACES_TEMPLATE=interfaces.${CONST_FRONT_END} |
104 | 108 |
FRONT_END_KERNEL=/boot/vmlinuz-`uname -r` |
105 | 109 |
FRONT_END_MEMORY=8192 # Must be in Mb for Xen 4.0 |
trunk/shell/templates/etc/exports.front-end (revision 38) | ||
---|---|---|
1 |
# /etc/exports: the access control list for filesystems which may be exported |
|
2 |
# to NFS clients. See exports(5). |
|
3 |
# |
|
4 |
# Example for NFSv2 and NFSv3: |
|
5 |
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check) |
|
6 |
# |
|
7 |
# Example for NFSv4: |
|
8 |
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check) |
|
9 |
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check) |
|
10 |
# |
|
11 |
# We use NFS4 as we have a single tree to share: /home. fsid=0 is used |
|
12 |
# to set the root of that tree. |
|
13 |
# We use async for performance, hopping that the front-end |
|
14 |
# will not crash indipendently from the rest of the cluster. |
|
15 |
# |
|
16 |
/home 192.168.1.0/255.255.255.0(rw,no_subtree_check,async,root_squash,fsid=0) |
trunk/shell/templates/etc/network/interfaces.front-end (revision 38) | ||
---|---|---|
1 | 1 |
# This file describes the network interfaces available on your system |
2 | 2 |
# and how to activate them. For more information, see interfaces(5). |
3 |
|
|
3 |
# |
|
4 |
# Automatic start interfaces. |
|
5 |
auto lo eth0 eth1 |
|
4 | 6 |
# The loopback network interface |
5 |
auto lo eth0 eth1 |
|
6 |
__ETH0_STATIC_OR_DHCP__ |
|
7 |
iface lo inet loopback |
|
7 | 8 |
# |
8 | 9 |
# The primary network interface |
10 |
__ETH0_STATIC_OR_DHCP__ |
|
9 | 11 |
__ETH0_STATIC_ADDRESS__ |
10 | 12 |
__ETH0_STATIC_NETMASK__ |
11 | 13 |
__ETH0_STATIC_NETWORK__ |
trunk/shell/generate-dhcp-hostsfile (revision 38) | ||
---|---|---|
1 |
#! /bin/bash |
|
1 |
#! /bin/bash
|
|
2 | 2 |
# |
3 | 3 |
# Generate a dhcp-hostsfile for dnsmasq. |
4 | 4 |
# MAC_address,node_name,IP_address |
... | ... | |
10 | 10 |
# Source the common configuration variables. |
11 | 11 |
. $SCRIPT_PATH/c-i-a-b.common |
12 | 12 |
# Clean up the file |
13 |
DHCP_HOSTSFILE="${SCRIPT_PATH}/${TEMPLATES_DIR}/etc/${CONTS_DHCP_HOSTS_FILE_BASENAME}"
|
|
14 |
rm -f $DHCP_HOSTSFILE |
|
13 |
DHCP_HOSTS_FILE="${SCRIPT_PATH}/${TEMPLATES_DIR}/etc/${CONST_DHCP_HOSTS_FILE_BASENAME}"
|
|
14 |
rm -f $DHCP_HOSTS_FILE
|
|
15 | 15 |
# Compute the file entries. |
16 | 16 |
for i in `seq 1 $COMPUTE_NODE_MAX_NUM` |
17 | 17 |
do |
... | ... | |
30 | 30 |
done |
31 | 31 |
MAC_ADDRESS="${CLUSTER_MAC_ADDRESS_PREFIX}:${NODE_NUMBER_HEXA}" |
32 | 32 |
COMPUTE_NODE_NAME="${COMPUTE_NODE_NAME_PREFIX}${NODE_NUMBER_STRING}" |
33 |
echo "${MAC_ADDRESS},id:*,${CLUSTER_STATIC_NETWORK_PREFIX}.${NODE_NUMBER},${COMPUTE_NODE_NAME}" >> $CONST_DHCP_HOSTS_FILE
|
|
33 |
echo "${MAC_ADDRESS},id:*,${CLUSTER_STATIC_NETWORK_PREFIX}.${NODE_NUMBER},${COMPUTE_NODE_NAME}" >> $DHCP_HOSTS_FILE |
|
34 | 34 |
|
35 | 35 |
done |
36 | 36 |
# Front end stuff |
37 | 37 |
NODE_NUMBER_HEXA=`printf "%X" $CONST_FRONT_END_CLUSTER_STATIC_NETWORK_POSTFIX` |
38 | 38 |
MAC_ADDRESS="${CLUSTER_MAC_ADDRESS_PREFIX}:${NODE_NUMBER_HEXA}" |
39 |
echo "${MAC_ADDRESS},id:*,${CLUSTER_STATIC_NETWORK_PREFIX}.$CONST_FRONT_END_CLUSTER_STATIC_NETWORK_POSTFIX,${FRONT_END_HOST_NAME}" >> $DHCP_HOSTSFILE
|
|
39 |
echo "${MAC_ADDRESS},id:*,${CLUSTER_STATIC_NETWORK_PREFIX}.$CONST_FRONT_END_CLUSTER_STATIC_NETWORK_POSTFIX,${FRONT_END_CLUSTER_HOST_NAME}" >> $DHCP_HOSTS_FILE
|
|
40 | 40 |
# Compute node model stuff |
41 | 41 |
NODE_NUMBER_HEXA=`printf "%X" $CONST_COMPUTE_NODE_MODEL_CLUSTER_STATIC_NETWORK_POSTFIX` |
42 | 42 |
MAC_ADDRESS="${CLUSTER_MAC_ADDRESS_PREFIX}:$NODE_NUMBER_HEXA" |
43 |
echo "${MAC_ADDRESS},id:*,${CLUSTER_STATIC_NETWORK_PREFIX}.${CONST_COMPUTE_NODE_MODEL_CLUSTER_STATIC_NETWORK_POSTFIX},${COMPUTE_NODE_MODEL_HOST_NAME}" >> $DHCP_HOSTSFILE
|
|
43 |
echo "${MAC_ADDRESS},id:*,${CLUSTER_STATIC_NETWORK_PREFIX}.${CONST_COMPUTE_NODE_MODEL_CLUSTER_STATIC_NETWORK_POSTFIX},${COMPUTE_NODE_MODEL_CLUSTER_HOST_NAME}" >> $DHCP_HOSTS_FILE
|
|
44 | 44 |
echo |
45 | 45 |
echo Copy the file to the front end! |
46 | 46 |
echo |
trunk/shell/generate-hosts-file (revision 38) | ||
---|---|---|
51 | 51 |
echo "fe00::0 ip6-localnet" 1>&5 |
52 | 52 |
echo "ff00::0 ip6-mcastprefix" 1>&5 |
53 | 53 |
echo "ff02::1 ip6-allnodes" 1>&5 |
54 |
echo "ffO2::2 ip6-allraouters" 1>&5
|
|
54 |
echo "ffO2::2 ip6-allrouters" 1>&5 |
|
55 | 55 |
exec 5>&- |
56 | 56 |
exit 0 |
trunk/shell/dom0-pin-vcpus (revision 38) | ||
---|---|---|
1 |
#! /bin/sh -x |
|
2 |
# |
|
3 |
# ST 2012-05-15 |
|
4 |
# |
|
5 |
# Pint the dom0 vcpus. |
|
6 |
# |
|
7 |
# Get the directory of the script. |
|
8 |
SCRIPT_PATH=`dirname $0` |
|
9 |
# Get the script name. |
|
10 |
SCRIPT_NAME=`basename $0` |
|
11 |
# Source the common configuration variables. |
|
12 |
. $SCRIPT_PATH/c-i-a-b.common |
|
13 |
# |
|
14 |
# Pin the VPCU to the selected CPU for dom0 |
|
15 |
VCPU_NUM=0 |
|
16 |
for i in $DOM0_CPUS_LIST; do |
|
17 |
xm vcpu-pin $CONST_XEN_DOM0_NAME $VCPU_NUM $i |
|
18 |
VCPU_NUM=$((VCPU_NUM + 1)) |
|
19 |
done |
|
20 |
|
|
0 | 21 |
Formats disponibles : Unified diff