This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
virtualization:xenserver:xenserver_add_host_to_pool [2014/11/22 21:13] gcooper created |
virtualization:xenserver:xenserver_add_host_to_pool [2015/11/20 08:23] (current) gcooper |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== XenServer - Add a Host to a Pool ====== | ====== XenServer - Add a Host to a Pool ====== | ||
- | When you add a host to a pool, most things are taken care of for you. | + | :!: Be sure to (at least) **rename networks to the names used in the pool** before joining the new host! |
- | One exception is Network Names. | + | When you add a host to a pool, most things are taken care of for you. However, **you will need to configure ' |
- | :!: Be sure to **rename networks to the names used in the pool** before joining the new host! | + | ===== On Pool Master ===== |
- | On pool master: | + | For reference: |
< | < | ||
+ | ifconfig | ||
+ | |||
xe network-list | xe network-list | ||
</ | </ | ||
- | On host to be joined: | + | ===== On Host to Be Joined ===== |
+ | |||
+ | Configure the same labels as on the pool master changing the MTU if necessary for your storage networks: | ||
< | < | ||
- | xe pif-list | + | xe network-list |
xe network-param-set name-label=Management uuid=< | xe network-param-set name-label=Management uuid=< | ||
xe network-param-set name-label=GuestPublic uuid=< | xe network-param-set name-label=GuestPublic uuid=< | ||
- | xe network-param-set name-label=BlockStorage uuid=< | + | xe network-param-set name-label=BlockStorage |
- | xe network-param-set name-label=FileStorage uuid=< | + | xe network-param-set name-label=FileStorage |
</ | </ | ||
+ | |||
+ | :!: The Management interface is configured during XenServer installation, | ||
+ | |||
+ | :!: NICs for VM traffic don't get IP addresses (are not ' | ||
+ | |||
+ | Configure IP addresses and storage network parameters for other ' | ||
+ | |||
+ | < | ||
+ | xe pif-list host-name-label=< | ||
+ | xe pif-reconfigure-ip IP=< | ||
+ | xe pif-param-set disallow-unplug=true other-config: | ||
+ | </ | ||
+ | |||
+ | Then join the new host using XenCenter. | ||
+ | |||
+ | ===== Heterogeneous CPU Pooling ===== | ||
+ | |||
+ | http:// | ||
+ | |||
+ | :!: If you are joining a newer, more capable host to an older, less capable pool, XenCenter will automatically offer to apply the appropriate mask to the new host when it is added. | ||
+ | |||
+ | :!: If you are joining an older, less capable host to a newer, more capable pool, you will have to apply a feature mask to the existing pool before you can join the host to the pool. You will have to reboot the pool member servers after applying the mask. | ||
+ | |||
+ | When hardware differs, and it can differ easily even with CPUs from the same vendor, you must use a technique called CPU masking. | ||
+ | |||
+ | On each host, dump the contents of this command into a text file: | ||
+ | |||
+ | < | ||
+ | xe host-cpu-info > server1.txt | ||
+ | </ | ||
+ | |||
+ | You'll want both '' | ||
+ | |||
+ | Then download a comparison tool to the same XenServer host that will tell you if the hosts are compatible and output the feature mask you will need to use: | ||
+ | |||
+ | < | ||
+ | wget http:// | ||
+ | chmod +x compare-cpu | ||
+ | </ | ||
+ | |||
+ | Now we run the script against the two text files: | ||
+ | |||
+ | < | ||
+ | compare-cpu -v server1.txt server2.txt | ||
+ | </ | ||
+ | |||
+ | Then, if compatibility is determined and a mask given, we apply the mask on the pool (master first): | ||
+ | |||
+ | < | ||
+ | xe host-set-cpu-features features=< | ||
+ | |||
+ | reboot | ||
+ | </ | ||
+ | |||
+ | Once the mask is applied and the member servers rebooted, you can use XenCenter to add the new host and it will offer to apply the appropriate mask to the new server. | ||
+ | |||
+ | To reset the CPU Features mask: {{ : | ||
+ | |||
+ | < | ||
+ | xe host-reset-cpu-features | ||
+ | </ | ||
+ | |||
+ | ==== CPU Masking Problems ==== | ||
+ | |||
+ | If you have problems getting the CPU mask to ' | ||
+ | |||
+ | Edit ''/ | ||
+ | |||
+ | Add '' | ||
+ | |||
+ | < | ||
+ | label xe | ||
+ | # XenServer | ||
+ | kernel mboot.c32 | ||
+ | append / | ||
+ | </ | ||
+ | |||
+ | Then apply your mask again and see if it ' | ||
+ | |||
+ | This worked at least once on a newer XenServer host with a fully patched XenServer 6.5 installation and an AMD Opteron 6320 CPU. |