GentooシステムKVMブリッジtap起動スクリプト


Gentoo起動initメカニズムはDebianとRedhatとは異なり、詳細はまだまとめられていない.
KVM tap起動スクリプトをバックアップします:kvm_net
#!/sbin/runscript
# Copyright chencheng use kvm
# Distributed under the terms of the GNU General Public License v2
# $Header: $

user_id=999
dev_num=3

depend() {
    need net.br0
    need modules
}


start() {
    ebegin "Start kvm-net"
    /sbin/modprobe kvm-intel
    #tapx=`tunctl -u nehc|awk '{print $2}'|cut -c 2,3,4,5`
    for((i=0;i<${dev_num};i++))
    do
        tapx=`/usr/bin/tunctl -b -u ${user_id}`
        brctl addif br0 ${tapx}
        ifconfig ${tapx} promisc up
        echo "${tapx} ready now! "
    done
    eend $?
}

stop() {
    ebegin "Stop kvm-net"
    for((i=0;i<${dev_num};i++))
    do
        brctl delif br0 tap$i
        ifconfig tap$i down
        tunctl -d tap$i
    done
    /sbin/modprobe -r kvm-intel
    eend $?
}

restart() {
    stop
    start
}

起動スクリプトが通常のスクリプトと異なるのは、rc-update add kvm-netがkvm-netを実行レベルに追加できることです.
また、kvmスクリプトを貼り付けます:start_kvm
#!/bin/bash
# created by chencheng
# use it to start virtual machine 
# $1 refer machine name
# $2 refer tap name
kvm -net nic,macaddr=00:00:00:00:00:00 -net tap,ifname=$2,script=no,downscript=no -m 300 /home/nehc/vms/$1/$1.img -daemonize
      

これは简単です....