Révision 29 trunk/shell/create-start-front-end
create-start-front-end (revision 29) | ||
---|---|---|
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. |
34 |
if [ $FRONT_END_SWAP_DISK_SIZE != $CONST_NULL_DISK_SIZE ]; then |
|
34 |
if [ $FRONT_END_SWAP_DISK_SIZE != $CONST_NULL_DISK_SIZE ] ; then
|
|
35 | 35 |
lvcreate -L $FRONT_END_SWAP_DISK_SIZE \ |
36 | 36 |
-n $FRONT_END_SWAP_DISK \ |
37 | 37 |
$FRONT_END_SWAP_VOLUME_GROUP |
... | ... | |
44 | 44 |
# Create a File System on the front-end system disk. |
45 | 45 |
mkfs -t $FRONT_END_HOME_DISK_FILE_SYSTEM \ |
46 | 46 |
$FRONT_END_HOME_VOLUME_GROUP_DEVICE/$FRONT_END_HOME_DISK |
47 |
# Mount the system disk to copy all the specific files.
|
|
48 |
if [ ! -d $FRONT_END_SYSTEM_DISK_MOUNT_POINT ]; then
|
|
49 |
mkdir $FRONT_END_SYSTEM_DISK_MOUNT_POINT
|
|
47 |
# Mount the system disk to install the system.
|
|
48 |
if [ ! -d $FRONT_END_FILE_SYSTEM_MOUNT_POINT ]; then
|
|
49 |
mkdir $FRONT_END_FILE_SYSTEM_MOUNT_POINT
|
|
50 | 50 |
fi |
51 | 51 |
mount $FRONT_END_SYSTEM_VOLUME_GROUP_DEVICE/$FRONT_END_SYSTEM_DISK \ |
52 |
$FRONT_END_SYSTEM_DISK_MOUNT_POINT |
|
52 |
$FRONT_END_FILE_SYSTEM_MOUNT_POINT |
|
53 |
# Create the directory for the homes |
|
54 |
if [ ! -d "$FRONT_END_FILE_SYSTEM_MOUNT_POINT/home" ]; then |
|
55 |
mkdir "$FRONT_END_FILE_SYSTEM_MOUNT_POINT/home" |
|
56 |
fi |
|
57 |
mount $FRONT_END_HOME_VOLUME_GROUP_DEVICE/$FRONT_END_HOME_DISK \ |
|
58 |
"$FRONT_END_FILE_SYSTEM_MOUNT_POINT/home" |
|
59 |
|
|
53 | 60 |
# |
54 | 61 |
# Get the cluster MAC address |
55 | 62 |
# |
56 | 63 |
CURRENT_PATH=/etc |
57 | 64 |
FRONT_END_CLUSTER_MAC_ADDRESS=\ |
58 |
`awk -F, -v INDEX=$FRONT_END_STATIC_NETWORK_POSTFIX '{if (FNR==INDEX) {print $1}}' $SCRIPT_PATH/$TEMPLATES_DIR$CURRENT_PATH/$DHCP_HOSTSFILE_BASENAME`
|
|
65 |
`awk -F, -v INDEX=$FRONT_END_STATIC_NETWORK_POSTFIX '{if (FNR==INDEX) {print $1}}' $SCRIPT_PATH/$TEMPLATES_DIR$CURRENT_PATH/$CONST_DHCP_HOSTS_FILE_BASENAME`
|
|
59 | 66 |
# |
60 | 67 |
# Create the Xen configuration file from a template |
61 | 68 |
# |
... | ... | |
130 | 137 |
rpl __VIF_STANZA__ "$VIF_STANZA" \ |
131 | 138 |
$CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg |
132 | 139 |
# |
140 |
# Install the system. |
|
141 |
# |
|
142 |
echo deboostrap --arch `uname -m` stable $FRONT_END_FILE_SYSTEM_MOUNT_POINT |
|
143 |
exit 0 |
|
133 | 144 |
# |
145 |
# |
|
134 | 146 |
# Configure the specific files from templates |
135 | 147 |
# |
136 | 148 |
# Create the /etc directory, if necessary |
137 |
if [ ! -d $FRONT_END_SYSTEM_DISK_MOUNT_POINT/etc ] ; then
|
|
138 |
mkdir $FRONT_END_SYSTEM_DISK_MOUNT_POINT/etc
|
|
149 |
if [ ! -d $FRONT_END_FILE_SYSTEM_MOUNT_POINT/etc ] ; then
|
|
150 |
mkdir $FRONT_END_FILE_SYSTEM_MOUNT_POINT/etc
|
|
139 | 151 |
fi |
140 | 152 |
# /etc/network/interfaces |
141 | 153 |
# The first interface is DHCP configured. |
142 |
# No '/' between $FRONT_END_SYSTEM_DISK_MOUNT_POINT and $CURRENT_PATH
|
|
154 |
# No '/' between $FRONT_END_FILE_SYSTEM_MOUNT_POINT and $CURRENT_PATH
|
|
143 | 155 |
CURRENT_PATH=/etc/network |
144 |
if [ ! -d ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH} ] ; then
|
|
145 |
mkdir ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}
|
|
156 |
if [ ! -d ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH} ] ; then
|
|
157 |
mkdir ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}
|
|
146 | 158 |
fi |
147 | 159 |
cp templates$CURRENT_PATH/$FRONT_END_INTERFACES_TEMPLATE \ |
148 |
$FRONT_END_SYSTEM_DISK_MOUNT_POINT$CURRENT_PATH/interfaces
|
|
160 |
$FRONT_END_FILE_SYSTEM_MOUNT_POINT$CURRENT_PATH/interfaces
|
|
149 | 161 |
if [ $CLUSTER_EXTERNAL_ADDRESSES_BY_DHCP -eq 1 ] ; then |
150 | 162 |
ETH0_STANZA="iface eth0 inet dhcp" |
151 | 163 |
rpl __ETH0_STATIC_OR_DHCP__ "$ETH0_STANZA" \ |
152 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
164 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
153 | 165 |
echo y | rpl __ETH0_STATIC_ADDRESS__ "" \ |
154 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
166 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
155 | 167 |
echo y | rpl __ETH0_STATIC_NETMASK__ "" \ |
156 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
168 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
157 | 169 |
echo y | rpl __ETH0_STATIC_NETWORK__ "" \ |
158 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
170 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
159 | 171 |
echo y | rpl __ETH0_STATIC_GATEWAY__ "" \ |
160 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
172 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
161 | 173 |
echo y | rpl __ETH0_STATIC_BROADCAST__ "" \ |
162 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
174 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
163 | 175 |
echo y | rpl __ETH0_STATIC_NAMESERVERS__ "" \ |
164 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
176 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
165 | 177 |
echo y | rpl __ETH0_STATIC_DNS_SEARCH__ "" \ |
166 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
178 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
167 | 179 |
else |
168 | 180 |
ETH0_STANZA="iface eth0 inet static" |
169 | 181 |
rpl __ETH0_STATIC_OR_DHCP__ "$ETH0_STANZA" \ |
170 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
182 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
171 | 183 |
echo y | rpl __ETH0_STATIC_ADDRESS__ "$FRONT_END_CLUSTER_STATIC_IP" \ |
172 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
184 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
173 | 185 |
echo y | rpl __ETH0_STATIC_NETMASK__ "$FRONT_END_EXTERNAL_INTERFACE_STATIC_NETMASK" \ |
174 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
186 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
175 | 187 |
echo y | rpl __ETH0_STATIC_NETWORK__ "$FRONT_END_EXTERNAL_INTERFACE_STATIC_NETWORK" \ |
176 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
188 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
177 | 189 |
echo y | rpl __ETH0_STATIC_GATEWAY__ "$FRONT_END_EXTERNAL_INTERFACE_STATIC_GATEWAY" \ |
178 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
190 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
179 | 191 |
echo y | rpl __ETH0_STATIC_BROADCAST__ "$FRONT_END_EXTERNAL_INTERFACE_STATIC_BROADCAST" \ |
180 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
192 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
181 | 193 |
echo y | rpl __ETH0_STATIC_NAMESERVERS__ "$FRONT_END_EXTERNAL_INTERFACE_STATIC_DNS_NAMESERVERS" \ |
182 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
194 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
183 | 195 |
echo y | rpl __ETH0_STATIC_DNS_SEARCH__ "$FRONT_END_EXTERNAL_INTERFACE_STATIC_DNS_SEARCH" \ |
184 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
196 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
185 | 197 |
fi |
186 | 198 |
ADDRESS="$CLUSTER_STATIC_NETWORK_PREFIX.$FRONT_END_STATIC_NETWORK_POSTFIX" |
187 | 199 |
rpl __ETH1_STATIC_ADDRESS__ $ADDRESS \ |
188 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
200 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
189 | 201 |
# /etc/hostname |
190 | 202 |
CURRENT_PATH=/etc |
191 | 203 |
echo $CURRENT_HOST_NAME > "${FRONT_END_DISK_MOUNT_POINT}${CURRENT_PATH}/hostname" |
192 |
# /etc/hosts |
|
204 |
# /etc/hosts. Script generated.
|
|
193 | 205 |
CURRENT_PATH=/etc |
194 |
CURRENT_HOST_IP="${CLUSTER_STATIC_NETWORK_PREFIX}.${FRONT_END_STATIC_NETWORK_POSTFIX}" |
|
195 |
cp templates$CURRENT_PATH/hosts \ |
|
196 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH} |
|
197 |
rpl __COMPUTE_NODE_IP__ $CURRENT_HOST_IP \ |
|
198 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/hosts |
|
199 |
rpl __COMPUTE_NODE_NAME__ $CURRENT_HOST_NAME \ |
|
200 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/hosts |
|
206 |
$SCRIPT_PATH/generate-hosts-file \ |
|
207 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/hosts |
|
201 | 208 |
# /etc/resolv.conf |
202 | 209 |
CURRENT_PATH=/etc |
203 | 210 |
cp $TEMPLATES_DIR$CURRENT_PATH/resolv.conf \ |
204 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
|
|
211 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
|
|
205 | 212 |
rpl __CLUSTER_DOMAIN_NAME__ "${CLUSTER_DOMAIN_NAME}." \ |
206 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/resolv.conf |
|
207 |
rpl __FRONT_END_STATIC_ADDRESS__ "${CLUSTER_STATIC_NETWORK_PREFIX}.$FRONT_END_STATIC_NETWORK_POSTFIX" \ |
|
208 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/resolv.conf |
|
209 |
exit 0 |
|
213 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/resolv.conf |
|
214 |
rpl __FRONT_END_STATIC_ADDRESS__ "${CLUSTER_STATIC_NETWORK_PREFIX}.${CONST_FRONT_END_CLUSTER_STATIC_NETWORK_POSTFIX}" \ |
|
215 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/resolv.conf |
|
210 | 216 |
# |
211 | 217 |
# Umount the compute node system disk |
212 | 218 |
# |
213 |
umount $FRONT_END_SYSTEM_DISK_MOUNT_POINT
|
|
219 |
umount $FRONT_END_FILE_SYSTEM_MOUNT_POINT
|
|
214 | 220 |
# |
215 | 221 |
# Start the virtual machine |
216 | 222 |
# |
Formats disponibles : Unified diff