CentOS7下部署CloudStack遇到的錯誤彙總

經過多次測試。。。建議安裝4.12.0版本.系統模板選擇4.11.2。。。

http://download.cloudstack.org/centos/7/4.12/
http://download.cloudstack.org/systemvm/4.11/systemvmtemplate-4.11.2-kvm.qcow2.bz2

管理節點數據庫安裝。

CentOS7不可直接安裝mysql-server 要下載相應的mysql rpm包。推薦安裝mariadb
感覺比mysql效果更好一些,個人使用MySQL時,很多次啓動management服務後,web訪問UI界面失敗。。

Unable to execute upgrade script: /usr/share/cloudstack-management/setup/db/schema-40to410.sql
Caused by: java.sql.SQLSyntaxErrorException: Duplicate column name 'size'

直接安裝mariadb 效果與mysql類似。啓動服務

systemctl start mariadb

設置 /etc/my.cnf文件時。

innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW'

這些設置要放在mysqld下如下。

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd


innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW'



[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d


CloudStack-management安裝過程有warning。

Please download vhd-util from http://download.cloudstack.org/tools/vhd-util and put it in
/usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver/
WARNING: ipmi_devintf module isn't available.
WARNING: ipmi_msghandler module isn't available.

最好按它說的去做。。。不然可能引發問題,有可能引發問題
不明白。也不清楚是不是由它引發的。
下載一個vhd-util http://download.cloudstack.org/tools/vhd-util 然後放到/usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver/目錄

順便啓動一下 ipmi 這個不知道不啓動有什麼錯誤沒

systemctl start ipmi

CloudStack-management啓動出錯。

cloudstack-setup-management --tomcat7 
ImportError: No module named dns.resolver

這就很有可能是因爲上一步引發的錯誤。只是有可能。。。也有可能是
大概是什麼模塊未安裝。需要安裝,百度一下。是Python相關模塊dnspython。安裝一下吧
先安裝pip

yum -y install python-pip

在安裝dnspython

pip install dnspython

中途可能又報錯。。。如

ERROR: mysql-connector-python 8.0.19 requires protobuf==3.6.1, which is not installed.

繼續安裝 protobuf==3.6.1

pip install  protobuf==3.6.1

**所有的都結束後 重新初始化(這個錯誤解決只是安慰一下自己。一般來說如果報這種錯誤。即使正常啓動也是UI也是連接不上的,查看日誌文件會有許多看不懂的操作。。。)**我看不懂。。。

日誌文件

一 Unable to execute upgrade script: /usr/share/cloudstack-management/setup/db/schema-40to410.sql
Caused by: java.sql.SQLSyntaxErrorException: Duplicate column name 'size’

這個 我是真沒找到解決的辦法。。。猜測和數據庫有關係。使用mariadb基本就沒事,可能使用MySQL數據庫安裝時出錯了吧。MySQL安裝 完成後執行mysql_secure_installation 按照提示設置root密碼,第一次使用時root密碼爲空,直接按回車即可

** 2020-03-14 14:26:30,869 WARN [c.c.h.k.d.LibvirtServerDiscoverer] (catalina-exec-11:ctx-00e4b8f8 ctx-d6a07c6a) (logid:086d1c03) can’t setup agent, due to java.io.IOException: There was a problem while connecting to 192.168.0.61:22 - There was a problem while connecting to 192.168.0.61:22
2020-03-14 14:26:30,879 WARN [c.c.r.ResourceManagerImpl] (catalina-exec-11:ctx-00e4b8f8 ctx-d6a07c6a) (logid:086d1c03) Unable to find the server resources at http://192.168.0.61
2020-03-14 14:26:30,880 INFO [c.c.u.e.CSExceptionErrorCode] (catalina-exec-11:ctx-00e4b8f8 ctx-d6a07c6a) (logid:086d1c03) Could not find exception: com.cloud.exception.DiscoveryException in error code list for exceptions
2020-03-14 14:26:30,880 WARN [o.a.c.a.c.a.h.AddHostCmd] (catalina-exec-11:ctx-00e4b8f8 ctx-d6a07c6a) (logid:086d1c03) Exception:
com.cloud.exception.DiscoveryException: Unable to add the host
at com.cloud.resource.ResourceManagerImpl.discoverHostsFull(ResourceManagerImpl.java:812)**
添加主機時報錯。網上搜到的答案大都是 VT服務沒開(VT怎麼起的自行搜索吧)。。。應該是一種錯誤源。 記下來。

[root@allinone ~]# lsmod | grep kvm
kvm_intel             183621  0 
kvm                   586948  1 kvm_intel
irqbypass              13503  1 kvm

好像這樣就能證明VT是沒問題的。如果使用的VMware做的測試。開啓這裏
開啓虛擬化
不過我引發的這個錯誤不是因爲VT。而是下面的。。。

2020-03-14 16:29:08,514 DEBUG [c.c.u.s.SSHCmdHelper] (catalina-exec-3:ctx-f408b87a ctx-d48178f5) (logid:3972d90b) Executing cmd: cloudstack-setup-agent -m localhost -z 1 -p 1 -c 1 -g cf9c040c-b185-308b-8e04-35eaea7a0739 -a --pubNic=cloudbr0 --prvNic=cloudbr0 --guestNic=cloudbr0 --hypervisor=kvm
2020-03-14 16:29:10,315 DEBUG [c.c.u.s.SSHCmdHelper] (catalina-exec-3:ctx-f408b87a ctx-d48178f5) (logid:3972d90b) cloudstack-setup-agent -m localhost -z 1 -p 1 -c 1 -g cf9c040c-b185-308b-8e04-35eaea7a0739 -a --pubNic=cloudbr0 --prvNic=cloudbr0 --guestNic=cloudbr0 --hypervisor=kvm output:Starting to configure your system:
Configure SElinux … [OK]
Configure Network … Configure Network failed, Please check the /var/log/cloudstack/agent/setup.log for detail, due to:list index out of range
Try to restore your system:
Restore SElinux … [OK]

這裏就很煩人。。。壓根就沒有任何WARN和ERROR只有一個Faild。這是在通過管理節點添加主機時出現的錯誤。具體錯誤看受控控節點主機的/var/log/cloudstack/agent/setup.log 日誌文件。網絡配置錯誤。
我的解決方法不一定通用 根據配置文件編輯一個網橋後重啓network。。。(注,似乎第一次添加失敗後不能再使用WEB控制面板去添加了,只能從agent自行添加 cloudstack-setup-agent
agent節點的配置文件 /etc/cloudstack/agent/agent.properties 中有有關默認網卡的說明。新建一個public網卡就行,private找不到相應名稱的會使用public的。但是public的沒有,就會添加失敗。。。
ifcfg-似乎表明這是一個網卡設備 cloudbr0 纔是public.network.device名。

vim vim /etc/sysconfig/network-scripts/ifcfg-cloudbr0
TYPE=Bridge
BOOTPROTO=static
DEVICE=cloudbr0
IPV6INIT=no
ONBOOT=yes
IPADDR=192.168.0.61
NETMASK=255.255.255.0
GATEWAY=192.168.0.1

cloudstack-setup-agent 出錯。。。

這個錯誤我真的是噁心死了,經過驗證,引發上一個錯誤的問題可能還是這個。

[root@allinone ~]# cloudstack-setup-agent 
Welcome to the CloudStack Agent Setup:
Please input the Management Server Hostname/IP-Address:[localhost]
Please input the Zone Id:[default]
Please input the Pod Id:[default]
Please input the Cluster Id:[default]
Please input the Hypervisor type kvm/lxc:[kvm]
Failed to get default route. Please configure your network to have a default route
[root@allinone ~]# 

沒有默認的路由,但是是有的 查看setup.log看問題。

[root@allinone ~]# cat /var/log/cloudstack/agent/setup.log 
DEBUG:root:execute:route -n|awk '/^0.0.0.0/ {print $2,$8}'
[root@allinone ~]# 

看不出什麼來吧。個人理解就是通過root命令執行了route -n|awk ‘/^0.0.0.0/ {print $2,$8}’
重點就是 這個route…原來我的CentOS7是最小安裝 壓根就沒有route命令。。。這。。。因此這個問題解決最簡單安裝 net-tools就好 但是查出源頭有點費事
一般來說不會有這種錯誤的。。因爲net-tools是agent的依賴包。。。安裝時應該安裝好的

yum -y install net-tools

2020-03-14 23:34:50,184 DEBUG [c.c.u.s.SSHCmdHelper] (catalina-exec-17:ctx-1bd9aef8 ctx-ab11721a) (logid:1b87c25f) cloudstack-setup-agent -m localhost -z 1 -p 1 -c 1 -g e7e6140e-b377-36b0-b9a7-08dc750f38be -a --pubNic=cloudbr0 --prvNic=cloudbr0 --guestNic=cloudbr0 --hypervisor=kvm output:Starting to configure your system:

Configure SElinux … [OK]
Configure Network … [OK]
Configure Libvirt … [OK]
Configure Firewall … [OK]
Configure Nfs … [OK]
Configure cloudAgent … [OK]
CloudStack Agent setup is done!

添加主機時參數一直有問題。。。cloudstack-setup-agent -m localhost -m後面應該是管理節點ip而不是本機,如果把本管理節點也當做一個計算節點這樣當然可以,但是。。。要添加的是其他IP的主機這就不對了 受控節點日誌也是報錯
2020-03-14 23:36:15,406 INFO [utils.nio.NioClient] (main:null) (logid:) Connecting to localhost:8250
2020-03-14 23:36:15,409 WARN [utils.nio.NioConnection] (main:null) (logid:) Unable to connect to remote: is there a server running on port 8250

因爲應該連接的不是 localhost:8250 而應該是是管理節點的8250 吧。。。
似乎還是因爲 網卡問題。。。管理節點的網卡也要設置, 先安裝 net-tools 然後設置網卡橋接文件cloudbr0 修改原網卡 添加一行 BRIDGE=cloudbr0 然後重啓網絡服務 systemctl restart network 注,管理節點這些操作應該在 數據初始化之前進行。
創建橋接網卡配置文件

vim /etc/sysconfig/network-scripts/ifcfg-cloudbr0

加入以下內容

TYPE=Bridge
BOOTPROTO=static
DEVICE=cloudbr0
IPV6INIT=no
ONBOOT=yes
IPADDR=192.168.0.92
NETMASK=255.255.255.0
GATEWAY=192.168.0.1

修改使用的網卡

vim /etc/sysconfig/network-scripts/ifcfg-ens33

在末尾添加

BRIDGE=cloudbr0

重啓網絡服務

systemctl restart network

2020-03-22 22:16:02,380 DEBUG [c.c.u.s.SSHCmdHelper] (qtp504527234-13:ctx-1d61ae02 ctx-073abd77) (logid:22c303fa) SSH command: cloudstack-setup-agent -m 192.168.199.95 -z 1 -p 1 -c 1 -g 0ca9dbdc-1abd-3cb8-b20c-192fadbad48e -a -s --pubNic=cloudbr0 --prvNic=cloudbr0 --guestNic=cloudbr0 --hypervisor=kvm

SSH command output:Starting to configure your system:
Configure SElinux … [OK]
Configure Network … Configure Network failed, Please check the /var/log/cloudstack/agent/setup.log for detail, due to:[Errno 2] No such file or directory
Try to restore your system:
Restore SElinux … [OK]
Network 網絡設置問題, CloudStack默認的網橋的是cloudbr0。如果計算節點沒有這個網橋,添加主機時就會報錯。。。解決方法,一個是 新增一個cloudbr0 網橋, 另一個修改/etc/cloudstack/agent/agent.properties 文件,修改默認網橋爲本機上已存在的。

計算節點的操作
方式一 示例
查看已有網橋 一般是virbr0

brctl show

安裝網絡管理工具 一般來說 net-tools 是 agentd的依賴包,應該是安裝好了的

yum -y install net-tools

創建橋接網卡配置文件

vim /etc/sysconfig/network-scripts/ifcfg-cloudbr0

加入以下內容

TYPE=Bridge
BOOTPROTO=static
DEVICE=cloudbr0
IPV6INIT=no
ONBOOT=yes
IPADDR=192.168.0.92
NETMASK=255.255.255.0
GATEWAY=192.168.0.1

修改使用的網卡

vim /etc/sysconfig/network-scripts/ifcfg-ens33

在末尾添加

BRIDGE=cloudbr0

重啓網絡服務

systemctl restart network

添加主機一直失敗,這是最嚴重的問題對我來說,主機不能完成添加。哪還有後續的工作,儘管把所有東西都放在一個虛擬機(既當管理節點又是計算節點)上啓動是可以成功的。,但是沒有意義啊。 而且 二級存儲容量一直是0。。。

當完成後繼續添加主機時,日常添加報錯,但是神奇的是如果你去更改/etc/cloudstack/agent/agent.properties 。。。然後再次cloudstack-setup-agent後,再次添加會報另一個錯。。。查看基礎設施時發現多了一個主機。這能算是成功嗎?肯定不能啊。。。二級存儲的問題也是解決不了。

這個,我最後使用CloudStack4.11版本。4.10.0版本的問題似乎就沒了。。。添加主機時正常的日誌信息,管理節點通過ssh連接計算節點主機。執行cloudstack-setup-agent 。 -m參數終於正確了。。。不再是localhost而是管理節點IP。最後發現並不是版本問題。而是我自己的管理節點設置有問題。

2020-03-22 22:24:16,459 DEBUG [c.c.u.s.SSHCmdHelper] (qtp504527234-16:ctx-274fd01b ctx-f00e259d) (logid:80bbb117) SSH command: cloudstack-setup-agent  -m 192.168.199.95 -z 1 -p 1 -c 1 -g 0ca9dbdc-1abd-3cb8-b20c-192fadbad48e -a -s  --pubNic=cloudbr0 --prvNic=cloudbr0 --guestNic=cloudbr0 --hypervisor=kvm
SSH command output:Starting to configure your system:
Configure SElinux ...         [OK]
Configure Network ...         [OK]
Configure Libvirt ...         [OK]
Configure Firewall ...        [OK]
Configure Nfs ...             [OK]
Configure cloudAgent ...      [OK]
CloudStack Agent setup is done!

和版本似乎並沒有太大關係。主要還是 管理節點的網卡設置問題,安裝 net-tools 編輯 cloudbr0 設置網卡文件的網橋配置文件爲cloudbr0再重啓網絡。。。操作在數據初始化之前

CloudStack虛擬實例的network 啓動失敗。

這個錯誤 我不太清楚,按理說和CloudStack不應該有太大關係。但是至少和libvirtd 和 KVM有關係。也就是cloudstack-agent的依賴包有關。。。有時部署 後添加的 CentOS7的network服務無法啓動或者啓動失敗。。。找了好久未找到原因。後來從4.11.0 升級成了4.11.3 。重要的是系統虛擬機模板也應該使用4.11.3的模板。。。但是cloudstack-agent安裝在計算節點後,計算節點的防火牆一定要是關閉狀態。。。否則,添加主機時會報錯, SSL error 可能和防火牆要開放的端口有關,但我也確實不知道應該開放那些端口。官方文檔建議開的哪幾個開啓了依然無用。
注,如果使用基本網絡設置,4.11.3版本的話。網絡裏安全組規則 的入口規則要進行設置,否則即使虛擬實例的network開啓了,依然無法 訪問到該虛擬實例

CloudStack停止虛擬機實例時報錯 Command failed due to Internal Server Error

管理節點  部分日誌
2020-05-06 15:40:07,805 DEBUG [o.a.c.n.t.BasicNetworkTopology] (Work-Job-Executor-6:ctx-5d10d329 job-30/job-31 ctx-195d854c) (logid:2bc5ccb9) REMOVING DHCP ENTRY RULE
2020-05-06 15:40:07,806 DEBUG [o.a.c.n.t.BasicNetworkTopology] (Work-Job-Executor-6:ctx-5d10d329 job-30/job-31 ctx-195d854c) (logid:2bc5ccb9) Applying dhcp entry in network Ntwk[204|Guest|6]
2020-05-06 15:40:07,822 ERROR [c.c.v.VmWorkJobHandlerProxy] (Work-Job-Executor-6:ctx-5d10d329 job-30/job-31 ctx-195d854c) (logid:2bc5ccb9) Invocation exception, caused by: java.lang.NullPointerException
2020-05-06 15:40:07,824 INFO  [c.c.v.VmWorkJobHandlerProxy] (Work-Job-Executor-6:ctx-5d10d329 job-30/job-31 ctx-195d854c) (logid:2bc5ccb9) Rethrow exception java.lang.NullPointerException
2020-05-06 15:40:07,825 DEBUG [c.c.v.VmWorkJobDispatcher] (Work-Job-Executor-6:ctx-5d10d329 job-30/job-31) (logid:2bc5ccb9) Done with run of VM work job: com.cloud.vm.VmWorkStop for VM 3, job origin: 30
2020-05-06 15:40:07,825 ERROR [c.c.v.VmWorkJobDispatcher] (Work-Job-Executor-6:ctx-5d10d329 job-30/job-31) (logid:2bc5ccb9) Unable to complete AsyncJobVO {id:31, userId: 2, accountId: 2, instanceType: null, instanceId: null, cmd: com.cloud.vm.VmWorkStop, cmdInfo: rO0ABXNyABdjb20uY2xvdWQudm0uVm1Xb3JrU3RvcALQ4GymiWjjAgABWgAHY2xlYW51cHhyABNjb20uY2xvdWQudm0uVm1Xb3Jrn5m2VvAlZ2sCAARKAAlhY2NvdW50SWRKAAZ1c2VySWRKAAR2bUlkTAALaGFuZGxlck5hbWV0ABJMamF2YS9sYW5nL1N0cmluZzt4cAAAAAAAAAACAAAAAAAAAAIAAAAAAAAAA3QAGVZpcnR1YWxNYWNoaW5lTWFuYWdlckltcGwA, cmdVersion: 0, status: IN_PROGRESS, processStatus: 0, resultCode: 0, result: null, initMsid: 52239770361, completeMsid: null, lastUpdated: null, lastPolled: null, created: Wed May 06 15:39:55 CST 2020}, job origin:30
java.lang.NullPointerException
	at org.apache.cloudstack.network.topology.BasicNetworkVisitor.visit(BasicNetworkVisitor.java:201)

2020-05-06 15:40:08,201 ERROR [c.c.a.ApiAsyncJobDispatcher] (API-Job-Executor-11:ctx-8e2c6bd3 job-30) (logid:2bc5ccb9) Unexpected exception while executing org.apache.cloudstack.api.command.admin.vm.StopVMCmdByAdmin
java.lang.NullPointerException
	at org.apache.cloudstack.network.topology.BasicNetworkVisitor.visit(BasicNetworkVisitor.java:201)

計算節點部分日誌
2020-05-06 15:28:38,389 WARN  [kvm.resource.LibvirtComputingResource] (agentRequest-Handler-3:null) (logid:74498b7d) Timed out waiting for domain i-2-3-VM to shutdown gracefully

根據日誌推測是和 基本來賓網絡設置有關。。。具體哪裏出錯就不清楚了。。。

4.11.3版本會出現該錯誤。。。4.11.2版本就不會。如果說 建議。那就是安裝版本4.11.2

關於SSH 端口和防火牆設置問題

有一些真實部署情況下 爲了安全 可能修改了 SSH連接端口。默認SSH 端口22 可能修改了文件

vim /etc/ssh/sshd_config

修改了 Port 5555之類

Port 5555

重啓sshd服務後ssh 連接端口 就不再是默認的 22 了 而是5555 而 cloudstack在添加主機時管理節點會連接到 要添加的主機 使用的就是 ssh 連接。。端口還就是22 沒有找到地方修改。因此,如果修改了ssh端口 計算節點是添加不上去的。。。
之前自作聰明 想到了一個解決辦法。。。那就是設置端口轉發。。CentOS7使用firewalld 做端口轉發將22端口請求轉發到 5555 端口

先允許防火牆 僞裝IP

firewall-cmd --add-masquerade --permanent
firewall-cmd --reload

設置端口轉發

firewall-cmd --add-forward-port=port=22:proto=tcp:toport=5555 --permanent
firewall-cmd --reload

查看端口轉發

firewall-cmd --list-forward

端口轉發後 虛擬機上部署4.11.0 版本時真的沒有問題。。。但是部署4.11.3版本時系統VM一直無法啓動。且管理節點日誌文件報錯如下

2020-05-18 09:58:33,365 ERROR [c.c.u.n.Link] (AgentManager-SSLHandshakeHandler-2:null) (logid:) SSL error caught during unwrap data: Received fatal alert: certificate_unknown, for local address=/192.168.199.91:8250, remote address=/192.168.199.92:43810. The client may have invalid ca-certificates.
2020-05-18 09:58:34,130 DEBUG [o.a.c.c.p.RootCACustomTrustManager] (pool-12-thread-1:null) (logid:) A client/agent attempting connection from address=192.168.199.92 has presented these certificate(s):
Certificate [1] :
 Serial: 60cc65ad4e449e9
  Not Before:Sun May 17 21:58:29 CST 2020
  Not After:Tue May 18 09:58:29 CST 2021
  Signature Algorithm:SHA256withRSA
  Version:3
  Subject DN:C=cloudstack, O=cloudstack, OU=cloudstack, CN=v-1-VM
  Issuer DN:CN=ca.cloudstack.apache.org
  Alternative Names:[[7, 169.254.0.208], [7, 192.168.199.33], [7, 192.168.199.47], [2, v-1-VM]]
Certificate [2] :
 Serial: 8e9837081f1b279d
  Not Before:Sun May 17 21:39:02 CST 2020
  Not After:Wed May 11 09:39:02 CST 2050
  Signature Algorithm:SHA256withRSA
  Version:3
  Subject DN:CN=ca.cloudstack.apache.org
  Issuer DN:CN=ca.cloudstack.apache.org
  Alternative Names:null
2020-05-18 09:58:34,135 ERROR [o.a.c.c.p.RootCACustomTrustManager] (pool-12-thread-1:null) (logid:) Certificate ownership verification failed for client: 192.168.199.92
2020-05-18 09:58:34,137 ERROR [c.c.u.n.Link] (AgentManager-SSLHandshakeHandler-2:null) (logid:) SSL error caught during wrap data: General SSLEngine problem, for local address=/192.168.199.91:8250, remote address=/192.168.199.92:42932.

本來我以爲是開啓了防火牆的原因,端口開放問題之類的。但是最終發現並不是防火牆端口問題。就是因爲ssh端口 問題。。。所以,暫時也沒什麼好建議。就不要修改了sshd 端口了。就讓它是22吧。

CPU和內存超載設置

在webUI全局設置 無效。需要在數據庫設置修改。

mysql -u root -p
use cloud;
select * from cluster_details;

舉例,CPU超配修改爲4倍,內存超配修改爲2倍

update cluster_details set value=2.0 where id=1;
update cluster_details set value=4.0 where id=2;

UI顯示上面,創建的虛擬實例分配多少內存,就會顯示佔用了多少內存(CPU也一樣)。即使虛擬實例並不會真正把分配的內存和CPU全部使用。在宿主機上真正顯示的CPU和內存使用率並沒有那麼高。

所以超配的意義應該就是 因爲在虛擬實例創建後,不會把分配的所有CPU和內存都佔用。這就使得宿主機內存和CPU還有剩餘,但是UI顯示上內存和CPU分配超過某個限額,添加新的實例時會判斷資源不足導致無法創建的新的虛擬機。。。超配可以讓可分配的CPU與內存比實際得多。增加了宿主機CPU和內存的使用率。當然,超配也不能太大,每個虛擬實例即使創建後不運行任何應用,本身也佔用了一定的內存和CPU,超配過多,看上去可創建的虛擬實例變多了。但是真正運行虛擬實例時可能會非常卡,就本末倒置了。

CloudStack創建實例佔用內存模式。

一般來說,虛擬機創建後並不會把分配的內存全部佔用,而是動態使用。這樣才爲上一步的超額配置有操作的可能性。。。
可以參考計算方案。
cloudstack 添加計算方案時有三種類型。。。thin sparse fat。我也不太明白三種模式具體意義,但是官方描述thin sparse是lazy allocation ,也就是懶分配。顧名思義 需要使用時纔會分配。而fat是eager allocation 飢餓分配,一下子把分配得的全部拿走不管用不用得到那麼多。

理論來說 設置 thin 就是懶分配,不會直接把分配的內存全部佔用纔對。。。但是真實部署環境下 使用free -m 查看宿主機,就是創建一個4G 內存虛擬機 佔用內存就多了4G。。。目前也不明白到底是真實環境主機問題還是 什麼其他問題。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章