SystemImager

Official website: http://wiki.systemimager.org/index.php/Main_Page

SystemImager is software which automates Linux installs, software distribution, and production deployment.

SystemImager makes it easy to do automated installs (clones), software distribution, content or data distribution, configuration changes, and operating system updates to your network of Linux machines. You can even update from one Linux release version to another!

It can also be used to ensure safe production deployments. By saving your current production image before updating to your new production image, you have a highly reliable contingency mechanism. If the new production enviroment is found to be flawed, simply roll-back to the last production image with a simple update command!

Some typical environments include: Internet server farms, database server farms, high performance clusters, computer labs, and corporate desktop environments.


HOWTO: Image deployment using the BitTorrent transport (http://wiki.systemimager.org/index.php/BitTorrent)

[ edit]

Overview

This document explains the steps to setup the BitTorrent transport with SystemImager 4.0.2.

[ edit]

Install BitTorrent client

Before setting up your system to use the BitTorrent transport, you should make sure that your system already has a BitTorrent client installed. For specific instructions on how to install or where to get it, see the Quick_Start_HOWTO.

[ edit]

Configure the BitTorrent transport

[ edit]

Configure the image server

  • Open the file /etc/systemimager/bittorrent.conf to validate the configuration; in particular check the following parameters:
    • BT_INTERFACE=ethi must be the correct interface to reach the client nodes
    • BT_IMAGES=image1,image2,...,imageN must contain a comma separated list of the images to be distributed via BitTorrent
    • BT_OVERRIDES=override1,override2,...,overrideM must contain a comma separated list of the overrides to be distributed via BitTorrent
    • BT_UPDATE=y|n set to y to force the synchronization of the BitTorrent data with the images and overrides content every time the daemon on the image server is restart
    • BT_COMPRESS=y|n set to y to compress the images and overrides (with gzip) before the deployment (Use this option only if your image server is a powerful machine, in particular with a recent CPU...)

Following a typical configuration to deploy 2 images (suse10 and suse10_frontend) with their overrides:

 #
# "SystemImager"
#
# Copyright (C) 2006 Andrea Righi <a.righi@cineca.it>
#
# $Id: bittorrent.conf 3533 2006-04-24 20:25:59Z bli $
#

# The bittorrent tracker port.
BT_TRACKER_PORT=6969

# Tracker state file.
BT_TRACKER_STATE=/tmp/dstate

# Tracker log file.
BT_TRACKER_LOG=/var/log/systemimager/bittorrent-tracker.log

# Interface used to seed files with bittorrent.
BT_INTERFACE=eth0

# Set to yes if you want to compress the images before distributing
# them via BitTorrent. Set to 'n' if the image server has an old CPU or
# is not powerful in computations.
#
# Allowed values: y|n
BT_COMPRESS=y

# Set to yes if you want to always synchronize the BitTorrent images
# with the chrootable images on /var/lib/systemimager/images when the
# SystemImager BitTorrent daemon starts.
#
# Allowed values: y|n
BT_UPDATE=n

# Comma separated list of images to distribute with BitTorrent
# (ex. BT_IMAGES=RHEL4_base,suse10,frontend,backend...)
# IMPORTANT: no spaces between images!!!
BT_IMAGES=suse10,suse10_frontend

# Comma separated list of overrides to distribute with BitTorrent
# (ex. BT_OVERRIDES=RHEL4_base,suse10,frontend,backend...)
# IMPORTANT: no spaces between overrides!!!
BT_OVERRIDES=suse10,suse10_frontend
  • Start the BitTorrent daemon on the image server:
 # /etc/init.d/systemimager-bittorrent start
[ edit]

Configure the clients to use BitTorrent

Define the following option in the kernel boot parameters:

 BITTORRENT=y

Typically you need to edit the file /etc/systemimager/pxelinux.cfg/syslinux.cfg and add that option to the kernel boot arguments if you have configured a boot server. See the following example:

 DEFAULT systemimager

#
# Uncomment next line to send pxelinux boot prompt over serial port 0.
# NOTE: Be sure your serial port speed is appropriate (57600, 9600, etc.)
#
#SERIAL 0 57600
DISPLAY message.txt
PROMPT 1
TIMEOUT 50

# Add the following to the append line above to use your first serial port
# (ttyS0) as a console in addition to your monitor (tty0). NOTE: Be sure
# your serial port speed is appropriate (57600, 9600, etc.)
#
#console=ttyS0,57600

# Add the following to the append line above to increase the size of your tmpfs
# filesystem. About 100MB larger than your image size should suffice.
#
# Other tmpfs mount options are also supported. See the FAQ for details.
#tmpfs_size=800M

LABEL systemimager
KERNEL kernel
APPEND vga=extended initrd=initrd.img root=/dev/ram BITTORRENT=y MONITOR_SERVER=172.16.36.1 MONITOR_CONSOLE=yes

Last step: boot the clients and enjoy the autoinstallation! ;-)

[ edit]

Benchmark

SystemImager has been used to image a cluster of 1190 clients (IBM Blade LS21) over a 1Gb/s interconnect link: a 2.7GB RHEL5.1 x86_64 OS image has been delivered to all the clients in only 15min!!!

(Note: this means that after 15 minutes we were able to ssh and submit jobs to the nodes).

[ edit]

SystemImager Image Server config

Model: IBM e326m
RAM: 4GB
CPU: 2 AMD Opteron(tm) Processor 252 2.6GHz
Network card: Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet
OS: RHEL 5.1 (x86_64)
[ edit]

Client config

Model: IBM BladeCenter LS21
RAM: 8GB
CPU: 2 Dual-Core AMD Opteron(tm) Processor 2216HE 2.4GHz
Network card: Broadcom Corporation NetXtreme II BCM5706S Gigabit Ethernet
[ edit]

Network config

Network: IBM BladeCenter LS21 switches + 2 external CISCO Catalyst 6513 switches

[ edit]

Image

OS: RHEL 5.1 (size: 2.7GB)

[ edit]

Results

Per-client download rate:

systemimager-bittorrent-1190-clients.png

Aggregated bandwidth:

systemimager-bittorrent-1190-clients-aggregated.png

Thanks to CINECA for granting us dedicated access to a large compute cluster to perform this benchmark.

[ edit]

Important notes

When you perform some changes into an image deployed via BitTorrent (manually or using si_getimage - see man si_getimage for more information) remember to force a synchronization of the BitTorrent repository. To do so, simply change the value BT_UPDATE=y in /etc/systemimager/bittorrent.conf and restart the BitTorrent deamon:

 # /etc/init.d/systemimager-server-bittorrent restart

Then if you don't want to re-create the repository at each restart of the daemon change it to BT_UPDATE=n.

[ edit]

See also


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值