linux虚拟化之kvm
--
KVM (kernel-based virtual machine)
先硬盘双系统安装rhel6.3 64位
/share/iso/rhel63-64.iso
-rw-r--r-- 1 root root 3679453184 Feb 1 2010 /share/iso/rhel63-64.iso
--大小为3679453184,拷贝完成后,比较一下大小,检测完整性
--------------------------------------------------------
使用grub菜单硬盘安装rhel6.3
我这里/dev/sda5 挂载到/share目录
/share/rhel63-64.iso--把iso放到/share/目录
把iso挂载,并把挂载后的里的isolinux目录里的vmlinuz和initrd.img拷出来,也放到/share目录;还把iso里的images目录也拷贝到/share目录下
/share/vmlinuz
/share/initrd.img
/share/images
然后开机重启,在grub菜单按C键进入grub> 提示符界面
grub > root (hd0,4) --进入到/dev/sda5,也就是我的/share目录
grub > kernel /vmlinuz
grub > initrd /initrd.img
grub > boot--回车后,就进入到了安装界面
--如果这里是卡在黑屏就一个光标在闪的界面,则按ctrl+alt+F1-F6去查看一下终端,可能会有报错
--如果报fd0 IO错误的,则去在BIOS里把软驱给禁掉
--后面的选择只有一个地方要注意的是:安装方式选择hard drive,然后选择/dev/sda5(也就是你的iso在的分区),别的步骤都一样
装完双系统后,默认就是使用的rhel6.3的grub,进入到rhel6的系统,然后加上第一个系统的引导启动项,再grub-install /dev/sda(这里接sda,是硬盘名;不是sda1或sda2这样的分区名)
default=0
timeout=5
splashimage=(hd0,7)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux (2.6.32-279.el6.x86_64)
root (hd0,7)
kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=UUID=977904f8-b590-4162-82cc-53df24a71674 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-279.el6.x86_64.img
title Red Hat Enterprise Linux Server (2.6.18-164.el5)--这一段就是以前的rhel5.4的,直接把这段加到下面
root (hd0,0)
kernel /vmlinuz-2.6.18-164.el5 ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.18-164.el5.img
红帽官档下载路径
https://access.redhat.com/knowledge/docs/
关于rhel相关的文档我都有下载
在我本机的路径为
/share/soft/pdf/redhat_6_zh/
/share/soft/pdf/redhat_6_en/
进入rhel6.3之后
1,主机名绑定
2,配置网络
[root@li ~]# mii-tool eth0--查看网卡连接
eth0: negotiated 100baseTx-FD flow-control, link ok
[root@li ~]# mii-tool eth1
eth1: no link
[root@li ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static"
IPADDR=172.19.1.35
NETMASK=255.255.255.0
GATEWAY=172.19.1.1
HWADDR="00:30:67:76:53:F7"
NM_CONTROLLED="no"--不受netmanager控制
ONBOOT="YES"--改为YES,表示启用
TYPE="Ethernet"
UUID="7ed192de-5874-4781-a2cf-9f2f5310e37e"
DNS1=172.19.1.1--第一个DNS
DNS2=8.8.8.8--第二个DNS
3,把防火墙关闭,selinux关闭,默认是开启的
[root@li ~]# iptables -F
[root@li ~]# chkconfig iptables off
[root@li ~]# setenforce 0--马上生效
[root@li ~]# vim /etc/selinux/config
SELINUX=disabled--重启后生效
KVM官方安装文档(english)
/share/soft/pdf/redhat_6_en/Red_Hat_Enterprise_Linux-6-Virtualization_Host_Configuration_and_Guest_Installation_Guide-en-US.pdf
1,配置好yum
# vim /etc/yum.repos.d/rhel-source.repo
[rhel-source]
name=rhel6.3
baseurl=file:///yum/
enabled=1
gpgcheck=0
# yum groupinstall "Virtualization"
# yum groupinstall "Virtualization Client"
# yum groupinstall "Virtualization Platform"
# yum groupinstall "Virtualization Tools"
# service libvirtd restart
# cat /proc/cpuinfo |grep -E "vmx|svm"--查看CPU是否支持intel或AMD的虚拟技术
# modprobe kvm
# modprobe kvm_intel--如果不支持vmx指令,则加载不支持
# lsmod |grep kvm
kvm_intel 52570 0
kvm 314739 1 kvm_intel
开始安装kvm
1,图形安装
# virt-manger --和xen一样的命令,打开虚拟机管理器
安装名:kvm1 --名字随意
安装方式: --我这里选择第一个,使用iso直接安装
安装路径:/share/iso/rhel63-64.iso--写上iso的路径
OS type: linux
red hat enterprise linux 6
内存大小: 1024M-- 内存如果较小,安装时无法使用图形安装方式,只能使用文本安装方式
cpu个数:2 --不能大于宿主机器的cpu核数
硬盘大小: 12 G --我这里定义12G大小,不马上分配;它的默认路径会在/var/lib/libvirt/images/kvm1.img;也可以自定义路径
第五步:网络现在只能选择default --这是一个nat网络(私有网络),桥接网络不能选,需要后面单独配置后才能选择
2,命令行交互式安装
[root@li ~]# virt-install --prompt
What is the name of your virtual machine?
kvm2
How much RAM should be allocated (in megabytes)?
500
What would you like to use as the disk (file path)?
/var/lib/libvirt/images/kvm2.img
How large would you like the disk (/var/lib/libvirt/images/kvm2.img) to be (in gigabytes)?
12
What is the install CD-ROM/ISO or URL?
/share/iso/rhel63-64.iso
3,直接使用命令行来安装
# virt-install --hvm -n "kvm3" -r 600 --vcpus 2 --os-type="linux" --os-variant="rhel6" --disk path=/var/lib/libvirt/images/kvm3.img,size=10 -l /share/iso/rhel63-64.iso --network bridge=virbr0
hvm是指全虚拟化
p是指半虚拟化
主要的管理命令:
virsh --help
# virsh list
Id Name State
----------------------------------------------------
1 kvm1 running
[root@li ~]# virsh list --all
Id Name State
----------------------------------------------------
1 kvm1 running
- kvm2 shut off
# virsh start kvm1--启动一个虚拟机
# virsh shutdown kvm1 --正常关闭一个虚拟机
# virsh destroy kvm1 --强制关闭一个虚拟机
# virt-viewer kvm1 --连接一个已经启动的虚拟机,并使用图形查看
# virsh console kvm1 --字符连接一个虚拟机,但是现在连接不了;因为需要一个串口的授权才可以
虚拟机相关的文件:
以kvm1为例:
配置文件在:/etc/libvirt/qemu/kvm1.xml
磁盘文件默认在:/var/lib/libvirt/images/kvm1.img
---------------------------------
kvm 网络管理
# virsh help network--只查看与网络有关的帮助参数
# virsh net-list --all
Name State Autostart
-----------------------------------------
default active yes --这是一个NAT网络,私有网络
或者用图形方式查看:
virt-manager打开图形--》edit --》connections details --》 virtual networks--》点左下角的+号增加一个私有网络(选择名字,网络分配地址范围,dhcp的分配范围)
--注意:这里最后一步有三种网络:
1,isolated 相当vmware的hostonly,没有NAT,也没有网关
2,NAT 有网关,有NAT,可以通过宿主上外网
3,routed 也是相当于hostonly,在isolated的基础上就是加了一个网关
把上面的步骤做完后,直接在宿主机用ifconfig,就可以看到新加的网络了
例一:手动加一个私有网络
1,# cp /etc/libvirt/qemu/networks/default3.xml /etc/libvirt/qemu/networks/default4.xml
# vim /etc/libvirt/qemu/networks/default4.xml
<network>
<name>default4</name>--修改名字为default4
<uuid>24326ddb-e2fd-9983-1997-5e8efdc06c42</uuid> --uuid随便修改一下
<forward dev=‘eth0‘ mode=‘route‘>
<interface dev=‘eth0‘/>
</forward>
<bridge name=‘virbr3‘ stp=‘on‘ delay=‘0‘ />--virbr2改成virbr3
<mac address=‘52:54:00:AF:27:25‘/>--MAC地址改一下,只改后面三位
<ip address=‘192.168.104.1‘ netmask=‘255.255.255.0‘>--IP改为104
<dhcp>
<range start=‘192.168.104.128‘ end=‘192.168.104.254‘ /> --dhcp地址范围也改成104的
</dhcp>
</ip>
</network>
2,# virsh net-define /etc/libvirt/qemu/networks/default4.xml--定义一下
3,# virsh net-start default4--启动
4,# ifconfig virbr3 |head -2--查看就有了
virbr3 Link encap:Ethernet HWaddr 52:54:00:AF:27:25
inet addr:192.168.104.1 Bcast:192.168.104.255 Mask:255.255.255.0
# ls /etc/libvirt/qemu/networks/autostart/
default2.xml default3.xml default.xml
5,# virsh net-autostart default4 --让他开机自动启动
# ls /etc/libvirt/qemu/networks/autostart/--这里就会多了default4.xml了,其实都是网络配置文件的软链接
default2.xml default3.xml default4.xml default.xml
刚加的网络配置文件都在下面的目录
# ls /etc/libvirt/qemu/networks
autostart default2.xml default3.xml default4.xml default.xml
例三:修改一个网络
1,# vim /etc/libvirt/qemu/networks/default3.xml
<network>
<name>default3</name>
<uuid>24326ddb-e2fd-9982-1996-5e8efdc06c42</uuid>
<forward dev=‘eth0‘ mode=‘route‘>
<interface dev=‘eth0‘/>
</forward>
<bridge name=‘virbr2‘ stp=‘on‘ delay=‘0‘ />
<mac address=‘52:54:00:AF:26:45‘/>
<ip address=‘192.168.102.1‘ netmask=‘255.255.255.0‘>--我这里把以前的192.168.101.0的IP范围都改成了192.168.102.0
<dhcp>
<range start=‘192.168.102.128‘ end=‘192.168.102.254‘ />
</dhcp>
</ip>
</network>
保存后,使用ifconfig virbr2 查看,还是192.168.101.1,没有改变
需要做下面三步:
2,# virsh net-define /etc/libvirt/qemu/networks/default3.xml --定义一个网络,使你的修改被他知道
Network default3 defined from /etc/libvirt/qemu/networks/default3.xml
3,# virsh net-destroy default3--停一下这个网络
Network default3 destroyed
4,# virsh net-start default3--再启这个网络
Network default3 started
ifconfig virbr2查看,成功修改成192.168.102.1
上面的第一步和第二步可以统一成一步来做:
# virsh net-edit default3 --使用这个命令打开,修改,然后就直接net-destroy和net-start,不需要去net-define
增加一个桥接网络:
例四:把物理网卡eth0桥接到br0(这个名字是自己定义的)
在rhel6里有一个networkmanger这个服务,可以图形管理所有的网络链接。但这个服务不支持kvm的桥接,所以要关掉这个服务,或者在eth0的配置文件里加上NM_CONTROLLED="no",让eth0不受networkmanger服务的控制
1,创建一个桥接网络
# vim /etc/sysconfig/network-scripts/ifcfg-br0 --此文件不存在,br0这个名字是自定义的
DEVICE=br0--名字对应好
TYPE=Bridge
BOOTPROTO=static
IPADDR=172.19.1.35
NETMASK=255.255.255.0
GATEWAY=172.19.1.1
ONBOOT=yes
2,把一个物理网卡加到一个桥接网络里,我这里是把eth0加到br0
# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BRIDGE=br0--这句就是把eth0桥接到br0
NM_CONTROLLED="no"--这句就是让eth0不受networkmanager的控制
ONBOOT="YES"
[root@li ~]# brctl show --重启网络前的情况
bridge namebridge idSTP enabledinterfaces
virbr08000.5254004e4c3fyesvirbr0-nic
virbr18000.5254004cf4e4yesvirbr1-nic
virbr28000.525400af2645yesvirbr2-nic
virbr38000.525400af2725yesvirbr3-nic
3,重启网络
# brctl show--重启网络后查看的情况
bridge namebridge idSTP enabledinterfaces
br08000.0030677653f7noeth0
virbr08000.5254004e4c3fyesvirbr0-nic
virbr18000.5254004cf4e4yesvirbr1-nic
virbr28000.525400af2645yesvirbr2-nic
virbr38000.525400af2725yesvirbr3-nic
有了上面这些网络,如果你再建立虚拟机,就会有多种网络可选
例五:图形修改一个虚拟机网卡链接
virt-manager打开图形,双击你要修改的虚拟机--》点击左上的一个!号按钮show hardware detail-->>找个网卡,修改成你想要改的网络(但这里报需要重启虚拟机才能生效)
# virsh shutdown kvm1
# virsh start kvm1--重启后,就改成了你想要的虚拟网络了
例六:文本修改一个虚拟机的网卡连接
1,# vim /etc/libvirt/qemu/kvm1.xml --直接打开修改
2,# virsh define /etc/libvirt/qemu/kvm1.xml --vim修改后要define一下
# virsh edit kvm1 --或者使用edit命令打开修改,就可以替代前面的1,2步
40 <interface type=‘bridge‘>--接口类型把network改成bridge
41 <mac address=‘52:54:00:5c:aa:2c‘/>
42 <source bridge=‘br0‘/>--把原来默认的network改成bridge,把原来的网络default改成br0
43 <model type=‘virtio‘/>
44 <address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x03 ‘ function=‘0x0‘/>
# virsh shutdown kvm1
# virsh start kvm1--重启后,虚拟机就是桥接网络了
-------------------------------------
例七:解决virsh console kvm1 连接不上去的错误
1,在kvm1虚拟机里操作
vim /boot/grub/grub.conf
kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=UUID=f900cbb3-c0cf-440c-94f6-0c208f1da6e0 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet console=ttyS0,115200 --在内核参数这里加上console=ttyS0,115200,表示这个串口以115200的波特率可以连接
2,重启kvm1
# virsh reboot kvm1
3,再在宿主机上
# virsh concole kvm1 --然后回车就可以连了
例8:添加网卡或硬盘
virt-manager--》 双击打开kvm1--》点左上角的!号show hardware details --》点左下角add devices 直接添加,并写上相关参数就可以(注意参数,device mode都选择virtio,不需要重启虚拟机,可以直接生效)
--注意:当虚拟机(非宿主机)为文本模式的情况,在宿主机上用上面的图形模式加的设备,在虚拟机的配置文件里没有加上,需要手动再加上,才可以
例9:直接用命令来添加一个硬盘设备
1,使用dd命令创建一个磁盘文件
# dd if=/dev/zero of=/var/lib/libvirt/images/kvm1-4.img bs=1M count=4000
--如果不要完全分配完空间(而是要使用多少加多少的那种),可以bs=1M count=0 seek=4000
2,编辑虚拟机的配置文件
# virsh edit kvm1
<devices>与</devices>之间加上下面的一段,也可以把其它磁盘的配置定义拷贝一段进行修改
<disk type=‘file‘ device=‘disk‘>
<driver name=‘qemu‘ type=‘raw‘ cache=‘none‘/>
<source file=‘/var/lib/libvirt/images/kvm1-4.img‘/> --名字改成kvm1-4.img
<target dev=‘vdd‘ bus=‘virtio‘/>--磁盘名,改成vdd
<address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x10‘ function=‘0x0‘/>--slot也改一下,我这里是把0x09改成0x10
</disk>
3,重启虚拟机
----------------------------------
kvm 的克隆
--注意:克隆都需要源虚拟机器是关闭状态
例:图形克隆
1,先关闭kvm1
2,virt-manager--》右键点kvm1--》选择clone-->修改克隆后的名字或其它参数--》点clone
例:文本克隆
1,拷贝配置文件和磁盘文件
# cp /etc/libvirt/qemu/kvm1.xml /etc/libvirt/qemu/kvm3.xml
# cp /var/lib/libvirt/images/kvm1.img /var/lib/libvirt/images/kvm3.img
2,修改拷贝的配置文件
# vim /etc/libvirt/qemu/kvm3.xml
<domain type=‘kvm‘>
<name>kvm3</name>--名字改成kvm3
<uuid>811d69e8-b1d8-cfbf-684a-69f2e0af6b88</uuid>--uuid随便改几个数字
<memory unit=‘KiB‘>1048576</memory>
<currentMemory unit=‘KiB‘>1048576</currentMemory>
<vcpu placement=‘static‘>2</vcpu>
<os>
<type arch=‘x86_64‘ machine=‘rhel6.3.0‘>hvm</type>
<boot dev=‘hd‘/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset=‘utc‘/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type=‘file‘ device=‘disk‘>
<driver name=‘qemu‘ type=‘raw‘ cache=‘none‘/>
<source file=‘/var/lib/libvirt/images/kvm3.img‘/> --磁盘路径改成kvm3.img的路径
<target dev=‘vda‘ bus=‘virtio‘/>
<address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x05‘ function=‘0x0‘/>
</disk>
<disk type=‘block‘ device=‘cdrom‘>
<driver name=‘qemu‘ type=‘raw‘/>
<target dev=‘hdc‘ bus=‘ide‘/>
<readonly/>
<address type=‘drive‘ controller=‘0‘ bus=‘1‘ target=‘0‘ unit=‘0‘/>
</disk>
<controller type=‘usb‘ index=‘0‘>
<address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x01‘ function=‘0x2‘/>
</controller>
<controller type=‘ide‘ index=‘0‘>
<address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x01‘ function=‘0x1‘/>
</controller>
<interface type=‘bridge‘>
<mac address=‘52:54:00:5c:3a:2d‘/> --网卡地址随便改下,只改后三位
<source bridge=‘br0‘/>
<model type=‘virtio‘/>
<address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x03‘ function=‘0x0‘/>
</interface>
<interface type=‘network‘>
<mac address=‘52:54:00:5a:c2:d3‘/>--第二张网卡也随便改下
<source network=‘default‘/>
<model type=‘virtio‘/>
<address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x07‘ function=‘0x0‘/>
</interface>
<serial type=‘pty‘>
<target port=‘0‘/>
</serial>
<console type=‘pty‘>
<target type=‘serial‘ port=‘0‘/>
</console>
<input type=‘tablet‘ bus=‘usb‘/>
<input type=‘mouse‘ bus=‘ps2‘/>
<graphics type=‘vnc‘ port=‘-1‘ autoport=‘yes‘/>
<sound model=‘ich6‘>
<address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x04‘ function=‘0x0‘/>
</sound>
<video>
<model type=‘cirrus‘ vram=‘9216‘ heads=‘1‘/>
<address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x02‘ function=‘0x0‘/>
</video>
<memballoon model=‘virtio‘>
<address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x06‘ function=‘0x0‘/>
</memballoon>
</devices>
</domain>
3,保存后,使用virsh list --all查看不到的,需要define一下
# virsh define /etc/libvirt/qemu/kvm3.xml
# virsh list --all--再查就可以查看到kvm3
Id Name State
----------------------------------------------------
- kvm1 shut off
- kvm1-clone shut off
- kvm2 shut off
- kvm3 shut off
# virsh start kvm3 --可以启动克隆的机器了
例:命令克隆
# virt-clone -o kvm1 -n kvm4 -f /var/lib/libvirt/images/kvm4.img
Allocating kvm4.img 7% [- ] 34 MB/s | 957 MB 05:29 ETA
--把kvm1克隆成kvm4,指定磁盘路径为/var/lib/libvirt/images/kvm4.img
---------------------------------
kvm 的远程管理
例:在172.19.1.35上管理172.19.1.136
1,先在/etc/hosts里绑定对方(被管理的宿主机器)的主机名
2,做ssh等效性
# ssh-keygen --直接三次回车
# scp /root/.ssh/id_rsa.pub 172.19.1.136:/root/.ssh/authorized_keys
--把自己的公钥scp传给对方
3,所有的被管理客户端宿主机,需要启动libvirtd服务
4,virt-manager--》file--》add connection--》填上要远程连接的主机IP(或主机名,但要求/etc/hosts绑定)
5,连接上去之后,就可以看到有远程的虚拟客户机,双击就可以远程调取他们的图形了
--或者用命令的方式去连接
# virt-viewer -c qemu+ssh://[email protected]/system zhangjd
-------------------------------------------------------------
迁移:
冷迁移:这个和克隆还是有区别的:克隆是把源虚拟机关闭,那么内存的数据都没了;而迁移是迁过去成功,然后打开后,还保持原来的内存数据
热迁移:
冷迁移过程:
1,虚拟机kvm1是开启状态
2,保存当前的运行状态
# virsh save kvm1 /etc/libvirt/qemu/kvm1.xml.save
Domain kvm1 saved to /etc/libvirt/qemu/kvm1.xml.save
3,scp或者rsync把相关的文件都拷贝到被迁移的宿主机
# scp /etc/libvirt/qemu/kvm1.xml.save 172.19.1.136:/etc/libvirt/qemu/
# scp /etc/libvirt/qemu/kvm1.xml 172.19.1.136:/etc/libvirt/qemu/
# scp /var/lib/libvirt/images/kvm1.img 172.19.1.136:/var/lib/libvirt/images/
4,到136(也就是迁移的目标宿主机)上操作
# virsh define /etc/libvirt/qemu/kvm1.xml --define一下,然后就可以用virsh list --all查看到
5,# virsh restore /etc/libvirt/qemu/kvm1.xml.save
热迁移过程:
1,做热迁移需要使用共享存储(也就是说这些虚拟机都安装在宿主机的共享存储设备上);我们这里只能使用nfs来替代
2,在源宿主机器上把虚拟机的磁盘文件路径用nfs导出
# vim /etc/exports
/var/lib/libvirt/images *(rw,no_root_squash,sync)
# /etc/init.d/nfs restart --rhel6.x已经没有portmap服务了,直接启动nfs服务就可以
3,在目标宿主机器上把源共享的目录挂载,保证路径一致
# mount 172.19.1.35:/var/lib/libvirt/images/ /var/lib/libvirt/images/
4,进行迁移,下面的操作是在源35上的操作(注意检查一下防火墙和selinux要关闭)
命令迁
# virsh migrate --live kvm1 qemu+ssh://172.19.1.136/system
--(可能会有很多问题:如kvm1有桥接网络,但136那边没有,会报错:或者kvm1内存较大,136那边没有足够的内存分配,则也会报错等等;还有可能是因为网络的问题,造成一次不成功;毕竟我们是实验环境@_@多试几次看看)
图形迁
virt-manager --》右键点kvm1-->点迁移
--迁移过程中,源虚拟机还是可以继续运行,几乎感觉不到停;迁移完成后,则源会关闭(源已经没有用了),而目标136,就已经无缝接管了源虚拟机的状态了
本文出自 “devops” 博客,谢绝转载!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。