本篇記錄在使用libvirt的時候遇到的一些情況,即解決方法.
1
2
3
[root@localhost vm]# virsh start centos
error: failed to start domain centos
error: internal error process exited while connecting to monitor: qemu-system-x86_64: -drive file=/home/d/shixun/vm/vdisk.img,if=none,id=drive-ide0-0-0,format=qcow2: could not open disk image /home/d/shixun/vm/vdisk.img: permission denied
解決:/etc/libvirt/qemu.conf
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
# some examples of valid values are:
#
# user = "qemu" # a user named "qemu"
# user = "+0" # super user (uid=0)
# user = "100" # a user named "100" or a user with uid=100
#
user = "root"
# the group for qemu processes run by the system instance. it can be
# specified in a similar way to user.
group = "root"
# whether libvirt should dynamically change file ownership
# to match the configured user/group above. defaults to 1.
# set to 0 to disable file ownership changes.
dynamic_ownership = 0
我的這個沒能解決問題
/etc/init.d/libvirtd restart 不管用
在使用virsh對虛擬機器進行動態遷移時,虛擬機器沒有開啟.於是就去開啟虛擬機器,但是卻發現無法執行.
1
2
3
error starting domain: timed out during operation: cannot acquire state change lock
libvirterror: timed out during operation: cannot acquire state change lock
我進行了以下的步驟
1
2
3
4
5
6
7
8
9
virsh undefine centos
####login as a root user and kill the libvirtd.
killall -9 libvirtd
rm /var/run/libvirtd.pid ##### remove the libvirtd pid file.
/etc/init.d/libvirtd restart #### restart libvirtd.
在嘗試上面的操作後,不起作用.
修改一下的domain的xml檔案中的name標籤,給虛擬機器改個名字,期間我還刪除了domain的xml檔案裡的qemu:commandline
裡面資訊,重新define後就可以執行了.
在進行遷移的時候使用命令 virsh migrate –live ubuntu qemu+ssh://dest_ip/system
1
error: internal hostname on destination resolved to localhost, but migration requires an fqdn
解決:ssh進入到dest host機器,執行hostname domain 就好了.其中domian是乙個網域名稱.將接下來就可以進行遷移了.
啟動nfs服務,出現問題
1
failed to issue method call: unit nfsserver.service failed to load: no such file or directory. see system logs and 'systemctl status nfsserver.service' for details.
解決:按照教程來就好了
1
2
3
4
5
6
# vim /etc/exports
/var/lib/libvirt/images *.example.com(rw,no_root_squash,sync)
# service nfs start
# mount -t nfs storage_host:/var/lib/libvirt/images /var/lib/libvirt/images
當去mount遠端的nfs伺服器,出現問題了.
mount.nfs: access denied by server while mounting 211.87.***.53:/mnt/nfs
解決:原來發現,在/etc/exports中,沒有將/mnt/nfs新增進去,只能將裡面有的資料夾才能mount到本機來.
可以先umoutn /mnt/nfs ,然後在mount看看能否成功
virsh shutdown 關閉虛擬機器沒起作用
解決:需要在虛擬機器裡安裝一些東西
1
2
3
yum install acpid
chkconfig acpid on
service acpid start
當我去遠端查詢資訊的時候,virsh -c qemu+ssh: list
的時候出現了下面的問題.
1
2
3
error: failed to connect to the hypervisor
error: no valid connection
error: end of file while reading data: : input/output error
檢視日誌cat /var/log/secure | grep sshd
發現是我這裡主動發出斷開的.難道是檢測到libvirtd有些問題導致的?
當時使用virt-manage可以查詢到遠端的資訊.估計是sshd出現的問題把.
解決:我沒有重新安裝sshd,我是通過tcp協議進行遷移的,因為是做測試,所以沒有考慮安全的問題.具體使用tcp進行遷移,檢視virsh使用qemu+tcp訪問遠端libvirtd .
node問題解決集
1 db.collection is not a function?當遇到這個錯誤的時候,反應過來應該是版本問題,因為在mongodb3.0版本以後,資料庫名從connect移除。而mongoose用的是2.2.33版本的mongodb,所以不存在這個問題,而解決方案有 1.1 降級到2.2的版本 ...
關於記錄集問題
關於記錄集問題 delphi windows sdk api 請問當我讀取記錄集的時候不用以下方式,我想一次讀取兩條記錄,然後再迴圈下面兩個,依次類推,應當怎麼做啊,謝謝各位了!while not adoquery.eof do begin next 每次只能讀取一條記錄 end 在迴圈內部執行兩次...
關於記錄集問題
關於記錄集問題 delphi windows sdk api 請問當我讀取記錄集的時候不用以下方式,我想一次讀取兩條記錄,然後再迴圈下面兩個,依次類推,應當怎麼做啊,謝謝各位了!while not adoquery.eof do begin next 每次只能讀取一條記錄 end 在迴圈內部執行兩次...