--- vservers.rpmsave 2003-09-29 20:05:10.000000000 +0200 +++ vservers 2003-09-29 20:08:02.000000000 +0200 @@ -4,7 +4,8 @@ # the virtual servers. USR_SBIN=/usr/sbin - +SHAREDPARTS="hda3 hda4" +XVPARTS="/etc/vservers/vpartitions" # Print the vserver name in priority/alpha order sortserver(){ @@ -20,6 +21,34 @@ } startservers(){ + echo "setting up vroots" + xvroot=0 + echo -n "" > /etc/vservers/vpartitions + for parti in $SHAREDPARTS ; do + echo " $parti -> vrsetup /dev/vroot/$xvroot /dev/$parti" + echo "$parti:$xvroot" >> $XVPARTS + vrsetup /dev/vroot/$xvroot /dev/$parti + let xvroot++ + done + + echo "activating context quota" + cd /etc/vservers + for name in `sortserver` + do + REALBLOCKDEVICE= + S_CONTEXT= + . $name.conf + if [ ! -z $S_CONTEXT ] ; then + if [ ! -z $REALBLOCKDEVICE ] ; then + myvroot=`grep $REALBLOCKDEVICE $XVPARTS | cut -d : -f 2` + cp -af /dev/vroot/$myvroot /vservers/$name/dev/hdv1 && \ + echo "activating quota on $S_CONTEXT ($name::$myvroot)" && \ + echo "cqhadd -v -x $S_CONTEXT /dev/vroot/$myvroot" && \ + cqhadd -v -x $S_CONTEXT /dev/vroot/$myvroot + fi + fi + done + echo "Starting the virtual servers" cd /etc/vservers for name in `sortserver` @@ -28,6 +57,7 @@ . $name.conf if [ "$ONBOOT" = "yes" ] ; then $USR_SBIN/vserver $name start + echo "+ + + + + + + + + + + + + + + + + + + + + + +" else echo virtual server $name not configured for on boot start fi @@ -56,7 +86,37 @@ for name in `sortserver -r` do $USR_SBIN/vserver $name stop + echo "+ + + + + + + + + + + + + + + + + + + + + + +" done + + + echo "deactivating context quota" + cd /etc/vservers + for name in `sortserver` + do + REALBLOCKDEVICE= + S_CONTEXT= + . $name.conf + if [ ! -z $S_CONTEXT ] ; then + if [ ! -z $REALBLOCKDEVICE ] ; then + myvroot=`grep $REALBLOCKDEVICE $XVPARTS | cut -d : -f 2` + echo "deactivating quota on $S_CONTEXT ($name::$myvroot)" && \ + echo "cqhrem -v -x $S_CONTEXT /dev/vroot/$myvroot" && \ + cqhrem -v -x $S_CONTEXT /dev/vroot/$myvroot + fi + fi + done + + + xvroot=0 + echo "removing vroots" + for i in `cat /etc/vservers/vpartitions` ; do + myvroot=`echo $i | cut -d : -f 2` + myparti=`echo $i | cut -d : -f 1` + echo " > vrsetup -d /dev/vroot/$myvroot /dev/$myparti" + vrsetup -d /dev/vroot/$myvroot /dev/$myparti + done + rm -f /var/lock/subsys/vservers ;; restart) @@ -83,7 +143,3 @@ esac exit 0 - - - -