mirror of
https://github.com/xcat2/xcat-core.git
synced 2025-05-30 09:36:41 +00:00
Merge branch 'master' of github.com:xcat2/xcat-core into new0329
This commit is contained in:
commit
bbcb8653f0
@ -4,7 +4,7 @@ RHEL 7.2 LE
|
||||
xCAT provides a sample package list (pkglist) files for CUDA. You can find them:
|
||||
|
||||
* Diskful: ``/opt/xcat/share/xcat/install/rh/cuda*``
|
||||
* Diskless: ``/opt/xcat/share/xcat/install/rh/cuda*``
|
||||
* Diskless: ``/opt/xcat/share/xcat/netboot/rh/cuda*``
|
||||
|
||||
Diskful images
|
||||
---------------
|
||||
|
@ -234,3 +234,15 @@ Clone a VM "vm3" from the VM master "vm6" in detaching mode: ::
|
||||
#clonevm vm3 -b vm6 -d
|
||||
vm3: Cloning vm6.sda.qcow2 (currently is 1042.21875 MB and has a capacity of 4096MB)
|
||||
|
||||
Migrate Virtual Machines
|
||||
------------------------
|
||||
|
||||
Virtual machine migration is a process that moves the virtual machines (guests) between different hypervisors (hosts).
|
||||
|
||||
Note: The VM storage directory should be accessible from both hypervisors (hosts).
|
||||
|
||||
Migrate the VM "kvm1" from hypervisor "hyp01" to hypervisor "hyp02": ::
|
||||
|
||||
#rmigrate kvm1 hyp02
|
||||
kvm1: migrated to hyp02
|
||||
|
||||
|
@ -11,8 +11,8 @@ VNC client complains the credentials are not valid
|
||||
**Solution**:
|
||||
Check whether the clocks on the hypervisor and headnode are synced
|
||||
|
||||
rpower fails with "qemu: could not open disk image /var/lib/xcat/pools/2e66895a-e09a-53d5-74d3-eccdd9746eb5/vmXYZ.sda.qcow2: Permission denied"
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------------
|
||||
rpower fails with "Error: internal error Process exited while reading console log qemu: could not open disk image /var/lib/xcat/pools/2e66895a-e09a-53d5-74d3-eccdd9746eb5/vmXYZ.sda.qcow2: Permission denied"
|
||||
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
**Issue**: ::
|
||||
|
||||
@ -30,6 +30,21 @@ rpower fails with "qemu: could not open disk image /var/lib/xcat/pools/2e66895a-
|
||||
|
||||
**Note**: For stateless hypervisor, please purge the VM by ``rmvm -p vm1``, reboot the hypervisor and then create the VM.
|
||||
|
||||
rpower fails with "Error: internal error: process exited while connecting to monitor qemu: could not open disk image /var/lib/xcat/pools/c7953a80-89ca-53c7-64fb-2dcfc549bd45/vmXYZ.sda.qcow2: Permission denied"
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
**Issue**: ::
|
||||
|
||||
#rpower vm1 on
|
||||
vm1: Error: internal error: process exited while connecting to monitor: 2016-02-03T08:28:54.104601Z qemu-system-ppc64: -drive file=/var/lib/xcat/pools/c7953a80-89ca-53c7-64fb-2dcfc549bd45/vm1.sda.qcow2,if=none,id=drive-scsi0-0-0-0,format=qcow2,cache=none: Could not open '/var/lib/xcat/pools/c7953a80-89ca-53c7-64fb-2dcfc549bd45/vm1.sda.qcow2': Permission denied
|
||||
|
||||
**Solution**:
|
||||
Usually caused by SELinux policies. The solution is simply to disable SELinux on the vmhost/hypervisor by editing "/etc/selinux/config" and change the SELINUX line to SELINUX=disabled: ::
|
||||
|
||||
SELINUX=disabled
|
||||
|
||||
Then reboot the hypervisor...
|
||||
|
||||
"Error: Cannot communicate via libvirt to kvmhost1"
|
||||
---------------------------------------------------
|
||||
|
||||
|
@ -34,7 +34,7 @@ For zVM:
|
||||
*******************
|
||||
|
||||
|
||||
\ **rmigrate**\ requests that a guest VM be moved from the current entity hosting it to another. It requests a live migration be done, if possible.
|
||||
\ **rmigrate**\ requests that a guest VM to be moved from the current hypervisor to another. It will request a live migration if possible. The vmstorage directory should be shared between the source and destination hypervisors.
|
||||
|
||||
For zVM:
|
||||
========
|
||||
@ -95,11 +95,13 @@ This is used to determine the current host to migrate from.
|
||||
****************
|
||||
|
||||
|
||||
1. To migrate kvm guest "kvm1" from hypervisor "hyp01" to hypervisor "hyp02", run:
|
||||
|
||||
.. code-block:: perl
|
||||
\ **rmigrate**\ \ *kvm1*\ \ *hyp02*\
|
||||
|
||||
rmigrate v1 n2
|
||||
2. To migrate kvm guest "kvm1" to hypervisor "hyp02", which is already on host "hyp02", enter:
|
||||
|
||||
\ **rmigrate**\ \ *kvm1*\ \ *hyp02*\
|
||||
|
||||
zVM specific:
|
||||
=============
|
||||
|
@ -37,6 +37,8 @@ DESCRIPTION
|
||||
|
||||
The chtab command adds, deletes or updates the attribute value in the specified table.column for the specified keyvalue. Normally, the given value will completely replace the current attribute value. But if "+=" is used instead of "=", the specified value will be appended to the coma separated list of the attribute, if it is not already there.
|
||||
|
||||
The chtab is designed to work without passing xcatd, so it's out of control of policy mechanism.
|
||||
|
||||
|
||||
*******
|
||||
OPTIONS
|
||||
|
@ -12,7 +12,7 @@ B<rmigrate> I<noderange> [B<destination=>I<target_host>] [B<action=>I<action>] [
|
||||
|
||||
=head1 B<Description>
|
||||
|
||||
B<rmigrate> requests that a guest VM be moved from the current entity hosting it to another. It requests a live migration be done, if possible.
|
||||
B<rmigrate> requests that a guest VM to be moved from the current hypervisor to another. It will request a live migration if possible. The vmstorage directory should be shared between the source and destination hypervisors.
|
||||
|
||||
=head2 For zVM:
|
||||
|
||||
@ -52,7 +52,13 @@ This is used to determine the current host to migrate from.
|
||||
|
||||
=head1 B<Examples>
|
||||
|
||||
rmigrate v1 n2
|
||||
1. To migrate kvm guest "kvm1" from hypervisor "hyp01" to hypervisor "hyp02", run:
|
||||
|
||||
B<rmigrate> I<kvm1> I<hyp02>
|
||||
|
||||
2. To migrate kvm guest "kvm1" to hypervisor "hyp02", which is already on host "hyp02", enter:
|
||||
|
||||
B<rmigrate> I<kvm1> I<hyp02>
|
||||
|
||||
=head2 zVM specific:
|
||||
|
||||
|
@ -131,136 +131,3 @@ check:output=~Error: Permission denied for request
|
||||
cmd:chtab name=root policy.commands= policy.rule=allow
|
||||
check:rc==0
|
||||
end
|
||||
start:xcatd_start
|
||||
description:stop then start xcatd daemon, and check all the 6 processes are running
|
||||
os:linux
|
||||
cmd:service xcatd status
|
||||
check:rc==0
|
||||
check:output=~xcatd service is running
|
||||
cmd:service xcatd stop
|
||||
check:rc==0
|
||||
cmd:sleep 3
|
||||
cmd:service xcatd start
|
||||
check:rc==0
|
||||
check:output=~Starting xcatd
|
||||
check:output=~[ OK ]
|
||||
cmd:service xcatd status
|
||||
check:rc==0
|
||||
check:output=~xcatd service is running
|
||||
cmd:result=`ps -ef | grep "xcatd: SSL listener" | grep -v grep | wc -l`; if [ $result -eq 1 ]; then echo "only one process"; fi
|
||||
check:output=~only one process
|
||||
cmd:result=`ps -ef | grep "xcatd: DB Access" | grep -v grep | wc -l`; if [ $result -eq 1 ]; then echo "only one process"; fi
|
||||
check:output=~only one process
|
||||
cmd:result=`ps -ef | grep "xcatd: UDP listener" | grep -v grep | wc -l`; if [ $result -eq 1 ]; then echo "only one process"; fi
|
||||
check:output=~only one process
|
||||
cmd:result=`ps -ef | grep "xcatd: install monitor" | grep -v grep | wc -l`; if [ $result -eq 1 ]; then echo "only one process"; fi
|
||||
check:output=~only one process
|
||||
cmd:result=`ps -ef | grep "xcatd: Discovery worke" | grep -v grep | wc -l`; if [ $result -eq 1 ]; then echo "only one process"; fi
|
||||
check:output=~only one process
|
||||
cmd:result=`ps -ef | grep "xcatd: Command log writer" | grep -v grep | wc -l`; if [ $result -eq 1 ]; then echo "only one process"; fi
|
||||
check:output=~only one process
|
||||
end
|
||||
|
||||
|
||||
start:xcatd_stop
|
||||
description:stop xcatd daemon, then check all the 6 processes are stopped
|
||||
os:linux
|
||||
cmd:service xcatd status
|
||||
check:rc==0
|
||||
check:output=~xcatd service is running
|
||||
cmd:service xcatd stop
|
||||
check:rc==0
|
||||
check:output=~Stopping x(cat|CAT)d
|
||||
check:output=~[ OK ]
|
||||
cmd:sleep 3
|
||||
cmd:service xcatd status
|
||||
check:output=~xcatd service is not running
|
||||
cmd:ps -ef | grep xcatd
|
||||
check:output!~"xcatd: SSL listener"
|
||||
check:output!~"xcatd: DB Access"
|
||||
check:output!~"xcatd: UDP listener"
|
||||
check:output!~"xcatd: install monitor"
|
||||
check:output!~"xcatd: Discovery worke"
|
||||
check:output!~"xcatd: Command log writer"
|
||||
cmd:service xcatd start
|
||||
check:rc==0
|
||||
end
|
||||
|
||||
start:xcatd_restart
|
||||
description:restart xcatd daemon
|
||||
os:linux
|
||||
cmd:service xcatd status
|
||||
check:output=~xcatd service is running
|
||||
check:rc==0
|
||||
cmd:times=10; while [ $times -gt 0 ]; do service xcatd restart; if [ "$?" -ne "0" ]; then break; fi; ((times--)); done; if [ $times -gt 0 ]; then $?=1; fi
|
||||
check:rc==0
|
||||
cmd:service xcatd status
|
||||
check:output=~xcatd service is running
|
||||
check:rc==0
|
||||
end
|
||||
|
||||
start:run_command_with_XCATBYPASS
|
||||
description:with XCATBYPASS=YES, the command works either xcatd deamon running or not
|
||||
os:linux
|
||||
cmd:service xcatd status
|
||||
check:rc==0
|
||||
check:output=~xcatd service is running
|
||||
cmd:XCATBYPASS=YES tabdump site
|
||||
check:rc==0
|
||||
cmd:service xcatd stop
|
||||
check:rc==0
|
||||
check:output=~Stopping x(cat|CAT)d
|
||||
check:output=~[ OK ]
|
||||
cmd:sleep 3
|
||||
cmd:service xcatd status
|
||||
check:output=~xcatd service is not running
|
||||
cmd:tabdump site
|
||||
check:rc!=0
|
||||
cmd:XCATBYPASS=YES tabdump site
|
||||
check:rc==0
|
||||
cmd:service xcatd start
|
||||
check:rc==0
|
||||
check:output=~Starting x(cat|CAT)d
|
||||
check:output=~[ OK ]
|
||||
cmd:service xcatd status
|
||||
check:rc==0
|
||||
check:output=~xcatd service is running
|
||||
end
|
||||
|
||||
start:disable_root_permission_in_policy_table
|
||||
description:disable root permission, only with XCATBYPASS=YES, the command works
|
||||
os:linux
|
||||
cmd:service xcatd status
|
||||
check:rc==0
|
||||
check:output=~xcatd service is running
|
||||
cmd:chtab name=root policy.rule=disable
|
||||
check:rc==0
|
||||
cmd:lsdef
|
||||
check:output=~Error: Permission denied for request
|
||||
cmd:XCATBYPASS=YES lsdef
|
||||
check:rc==0
|
||||
cmd:XCATBYPASS=YES chtab name=root policy.rule=allow
|
||||
check:rc==0
|
||||
cmd:lsdef
|
||||
check:rc==0
|
||||
end
|
||||
|
||||
start:assign_certain_command_permission
|
||||
description:assign root permission to certain command, only this command works
|
||||
os:linux
|
||||
cmd:service xcatd status
|
||||
check:rc==0
|
||||
check:output=~xcatd service is running
|
||||
cmd:lsdef
|
||||
check:rc==0
|
||||
cmd:tabdump policy
|
||||
check:rc==0
|
||||
cmd:chtab name=root policy.commands=lsdef policy.rule=allow
|
||||
check:rc==0
|
||||
cmd:lsdef
|
||||
check:rc==0
|
||||
cmd:tabdump policy
|
||||
check:output=~Error: Permission denied for request
|
||||
cmd:chtab name=root policy.commands= policy.rule=allow
|
||||
check:rc==0
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user