永希

生命永远充满希望

0%

一、安装kvm

  1. $ sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
  2. $ sudo adduser `id -un` libvirtd
  3. 验证安装:
    $ virsh -c qemu:///system list
    没有错误信息就表明安装成功!
    确认如下两个文件的权限正确:
    1
    2
    3
    4
    $ sudo ls -la /var/run/libvirt/libvirt-sock
    srwxrwx--- 1 root libvirtd 0 2010-08-24 14:54 /var/run/libvirt/libvirt-sock
    $ ls -l /dev/kvm
    crw-rw----+ 1 root kvm 10, 232 Jul 8 22:04 /dev/kvm
  4. 安装完毕后,会自动生成虚拟网卡 virbr0,可以通过 ifconfig 查看确认一下
  5. 创建网卡桥接
    $ sudo vi /etc/network/interfaces
    增加如下内容:
    1
    2
    3
    4
    5
    6
    auto br0
    iface br0 inet static
    address 192.168.0.222
    netmask 255.255.255.0
    gateway 192.168.0.1
    bridge_ports eth0
    保存,重启网卡设置,ifconfig 再查看网卡的设置,这个时候 eth0 已经没有具体的IP地址,IP地址出在了 br0 的虚拟网上面。
    安装后,默认的目录为:/etc/libvirt/qemu/

二、kvm 虚拟机的日常管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
virsh list --all > 查看虚拟机状态
virsh start [name] > 开机
virsh shutdown [name] > 关机
virsh destroy [name] > 强制关闭电源
virsh reboot[name] > 关机
virsh suspend [name] > 挂起服务器
virsh resume [name] > 恢复服务器
virsh autostart [name] > 配置开机自启动虚拟机 (/etc/libvirt/qemu/autostart/)
virsh undefine [name] > 删除虚拟机 (只删除配置文件,并不删除虚拟磁盘文件)
virsh create /etc/libvirt/qemu/[name].xml > 通过配置文件启动虚拟机
virsh dumpxml [name] > /etc/libvirt/qemu/[name].xml > 导出KVM虚拟机配置文件(可通过这种方式进行备份)
virsh edit [name] > 编辑虚拟机配置文件(/etc/libvirt/qemu/[name].xml,不建议直接通过vi编辑)
virsh --version > 查看虚拟工具版本
virt-install --version > 查看虚拟工具版本
qemu-kvm -version > 查看虚拟工具版本

注:virsh 命令丰富,可以执行各种维护任务。

三、安装 Win2003SP2 虚拟机

  1. 上传系统 iso 文件到 /file/tools/win/win2003/WIN_2003_SP2.iso

  2. 开始安装

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $ virt-install --name=win2003sp2 \
    --hvm \
    --ram 1024 \
    --vcpus=1 \
    --os-type=windows \
    --os-variant=win2k3 \
    --arch=x86_64 \
    --disk path=/file/kvm/win2003sp2/win2003sp2.img,size=20 \
    --network bridge=br0 \
    --accelerate \
    --graphics vnc,listen=0.0.0.0,port=5911 \
    --cdrom /file/tools/win/win2003/WIN_2003_SP2.iso \
    --boot cdrom

    参数说明:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    --name      指定虚拟机名称
    --hvm 使用全虚拟化(与--paravirt相对)
    --ram 分配内存大小,单位为 MB
    --vcpus 分配CPU核心数,最大与实体机CPU核心数相同
    --disk 指定虚拟机使用的磁盘,path 指定路径,size 指定大小,单位为G
    --network 网络设置,使用默认配置时可设为 "--network network:default"
    --accelerate 加速
    --graphics vnc,listen=0.0.0.0,port=5911 指定VNC监控端口、绑定IP,默认端口为5900,端口不能重复;IP 默认绑定127.0.0.1,这里改为 0.0.0.0
    --cdrom 指定安装镜像iso设置光驱获取虚拟光驱文件的路径
    --os-type=windows
    --os-variant=win2k3
    --arch=x86_64
    --boot cdrom 指定从 cdrom 启动,从硬盘启动时设为 hd
    --autostart 指定主机启动时自动启动此虚拟机
  3. 将虚拟机的启动方式改为从磁盘启动
    $ virsh edit win2003sp3

<boot dev='cdrom'/>改为 <boot dev='hd'/>
然后重新启动虚拟机:
$virsh destroy win2003sp3
$virsh start win2003sp3
之后就可以重新使用 vnc 连接,继续安装过程。
4. 安装完毕后按需要设置IP地址、远程连接等即可

四、KVM 克隆

复制已经安装好的虚拟机为另一个全新的虚拟机。如要将上面的 win2003sp2 复制为 win2003sp2-2:

  1. 关闭 win2003sp2
    $virsh shutdown win2003sp2
  2. 克隆 win2003sp2-2
    $virt-clone -o win2003sp2 -n win2003sp2-2 -f /file/kvm/win2003sp2/win2003sp2-2.img
    如果虚拟机文件比较大,复制的时间就会比较长。
  3. 修改 win2003sp2-2.xml 文件
    修改 vnc 端口避免与 win2003sp2 重复。
    $virsh edit win2003sp2-2
    <graphics type='vnc' port='5912' autoport='no' listen='0.0.0.0'>
  4. 启动 win2003sp2-2
    $virsh start win2003sp2-2
    最后利用 vnc 登录到 win2003sp2-2 之后,修改网络设置,避免 IP 冲突。

五、KVM 快照

对虚拟机做快照,防止损坏了可以正常恢复。kvm 快照分两种:
第1种:lvm 快照,如果分区是 lvm,可以利用 lvm 进行 kvm 的快照备份
第2种:由于 raw 格式不支持镜像,所以需要将格式转换为 qcow2 才可以创建快照。
第2种具体操作如下:
kvm 虚拟机默认使用 raw 格式的镜像格式,性能最好,速度最快,它的缺点就是不支持一些新的功能,如镜像、zlib 磁盘压缩、AES加密等。
要使用镜像功能,磁盘格式必须为 qcow2。
下面开始 kvm 虚拟机快照备份的过程:

  1. 查看磁盘格式
    $qemu-img info win2003sp2.img
  2. 关闭 win2003sp2
    $virsh shutdown win2003sp2
  3. 转换磁盘格式
    $qemu-img convert -f raw -O qcow2 win2003sp2.img win2003sp2.img.qcow2

-f 源镜像的格式
-O 目标镜像的格式
4. 修改虚拟机配置文件,指向新的磁盘格式文件
$virsh edit win2003sp2

1
2
3
4
5
6
7
8
9
10
<devices>
...
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/file/kvm/win2003sp2/win2003sp2.img.qcow2'/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
...
</devices>

注:转换后镜像文件占用的空间大大减少了,而且日后为动态自动增加,而不是固定占用开始设置时占用的大小。
5. 创建快照
$virsh snapshot-create-as win2003sp2 clean
6. 查看虚拟机镜像快照的版本
$virsh snapshot-list win2003sp2
7. 看当前最新的快照版本
$virsh snapshot-current win2003sp2
8. 恢复虚拟机快照
恢复虚拟机快照前必须先关闭虚拟机!
$virsh snapshot-revert win2003sp2 clean
9. 删除虚拟机快照
$virsh snapshot-delete win2003sp2 clean

网站推荐:


软件推荐:

  • Android Studio

博客推荐:


关于大学

千万不能把时间浪费在睡觉上。 要有一个良好的作息时间,每天拿出时间来钻研技术,多浏览网上的信息,多去搜索不知道的问题,有能力最好每天背英语单词。


关于Android开发

Java基础比较重要,一定要熟知,Android 开发者网站上有好多内容,要适应着去读英文资料。 可以尝试着去阅读一下Android原生应用的源码。新入门建议读郭霖的《第一行代码》 repo下载 下载源可以用清华的,不用翻墙.


工作之后的建议

英语很重要,翻墙很重要 开始工作都会有一个疲惫期,什么都不想干,只想着辞职,这个时候我的处理方式是请几天假,让自己休息一下,仔细考虑清除跳槽的利弊。 平时注重锻炼,身体和眼睛。


欢迎关注我的博客https://darkerthanblack.org 学叔 2015.05.23


被窝很舒服起床困难,那就放下手机早点睡。

书堆得多不知看哪本,那就拿起最经典的。

说走就走的旅行下不了决心,那就先学会欣赏身边美景。

如果不曾开始,永远不会抵达。

终于算是过年了,不知从何时起对烟花爆竹失去了兴趣。每次过年都是在看别人热闹。每次都早早的睡了,这一次不仅早早的睡了,而且12点的烟花爆竹声都没能叫醒我。过年似乎真的跟我没关系了,只是一个平常的夜晚。


一眨眼竟然就已经到了谈婚论嫁的年纪。一下子不知所措了。

操作系统 ubuntu 12.04 内核3.16.5-x86_64 Openswan U2.6.37 xl2tpd version: xl2tpd-1.3.1

PPTP部署

1.安装pptpd [code]apt-get install pptpd[/code] 2.配置文件 [code]vim /etc/ppp/options.pptpd[/code] 填写如下内容

name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
idle 2592000
ms-dns 8.8.8.8
ms-dns 8.8.4.4

说明:

name pptpd : pptpd server 的名称。
refuse-pap : 拒绝 pap 身份验证模式。
refuse-chap : 拒绝 chap 身份验证模式。
refuse-mschap : 拒绝 mschap 身份验证模式。
require-mschap-v2 : 在端点进行连接握手时需要使用微软的 mschap-v2 进行自身验证。
require-mppe-128 : MPPE 模块使用 128 位加密。
ms-dns 8.8.8.8
ms-dns 8.8.4.4 : ppp 为 Windows 客户端提供 DNS 服务器 IP 地址,第一个 ms-dns 为 DNS Master,第二个为 DNS Slave。
proxyarp : 建立 ARP 代理键值。
debug : 开启调试模式,相关信息同样记录在 /var/logs/message 中。
lock : 锁定客户端 PTY 设备文件。
nobsdcomp : 禁用 BSD 压缩模式。
novj
novjccomp : 禁用 Van Jacobson 压缩模式。
nologfd : 禁止将错误信息记录到标准错误输出设备(stderr)。

[code]vim /etc/ppp/chap-secrets[/code] 输入以下内容

myusername pptpd mypassword *

[code]vim /etc/pptpd.conf[/code] 填入以下内容

option /etc/ppp/options.pptpd
logwtmp
localip 10.82.18.1
remoteip 10.82.18.2-254

[code] sed -i ‘s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g’ /etc/sysctl.conf sysctl -p [/code]

IPSec+L2TP部署

1.安装openswan和xl2tpd [code]apt-get install openswan xl2tpd [/code] 安装过程中选择使用X.509,创建,自签名 2.配置文件 [code]vim /etc/ipsec.conf[/code] 填入以下内容

version 2.0  
config setup  
    nat_traversal=yes  
    virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12  
    oe=off  
    protostack=netkey  
conn L2TP-PSK-NAT  
    dpddelay=40  
    dpdtimeout=130  
    dpdaction=clear  
    rightsubnet=vhost:%priv  
    also=L2TP-PSK-noNAT  
conn L2TP-PSK-noNAT  
    authby=secret  
    pfs=no  
    auto=add  
    keyingtries=3  
    rekey=no  
    ikelifetime=8h  
    keylife=1h  
    type=transport  
    left=106.186.178.35  
    leftprotoport=17/1701  
    right=%any  
    rightprotoport=17/%any 

[code]vim /etc/ipsec.secrets [/code]

YOUR.IP %any: PSK "password"

[code]vim /etc/xl2tpd/xl2tpd.conf[/code]

[global]  
ipsec saref = yes  
[lns default]  
ip range = 10.1.2.2-10.1.2.255  
local ip = 10.1.2.1   
refuse chap = yes  
refuse pap = yes  
require authentication = yes 
name xl2tpd
ppp debug = yes  
pppoptfile = /etc/ppp/options.xl2tpd  
length bit = yes

[code]vim /etc/ppp/options.xl2tpd [/code]

require-mschap-v2  
ms-dns 8.8.8.8  
asyncmap 0  
auth  
crtscts  
lock  
hide-password  
modem  
debug  
name xl2tpd  
proxyarp  
lcp-echo-interval 30  
lcp-echo-failure 4  

[code]vim /etc/ppp/chap-secrets [/code]

按说明填写,server写xl2tpd

[code]vim /etc/rc.local[/code]

iptables --table nat --append POSTROUTING --jump MASQUERADE  
echo 1 > /proc/sys/net/ipv4/ip_forward  
for each in /proc/sys/net/ipv4/conf/*  
do  
echo 0 > $each/accept_redirects  
echo 0 > $each/send_redirects  
done  
exit 0

[code] service ipsec restart service xl2tpd restart [/code]

结束了,大学的学业结束了。课上收获太少,课下收获丰富。

不知不觉已经过了将近四年,大学生活即将过去,我的学生时代也将结束。结束时才回想起学生时代的好。 上学的这么多年来,一直盼望着学业的结束,真正到来时,却又十分的不舍。学生时代的安逸是任何时候都得不到的了。

在VMware中安装了ubuntu desktop 12.04进行下载android源码。后来出现卡屏以及重启后进不去桌面问题。 1.卡屏问题原因出在VMware设置里,将显示器的3d加速选项去掉。 2.进不去桌面问题解决方案:在出现ubuntu图样之前按Ctrl+Alt+F2进入tty,重装xinit,然后输入startx命令