圖片來源:popphysics
話說今天利用Vagrant +virtualbox 在建立 KDC +LDAP 的開發環境,結果在Create KDC Database 時發現奇怪的問題...
在執行kdb5_util create -s 的時候,畫面就停在Loading random data就不動了....
看CPU和Mem也沒有異常的吃緊?Google 一下發現原來是在虛擬環境下 Linux 的Random不給力啊!
[1] krb5_newrealm hangs on fresh install
[2] virtualbox - poor entropy performance
原因是這樣:
一般來說 Linux 是靠 pseudo random number generator (PRNG) 這個特殊的裝置 (如 /dev/random and /dev/urandom) ,而這些Device是靠著 hardware interrupts (keyboard, mouse, disk/network I/O) 去產生亂數值。 而問題就在這邊,在虛擬環境會implement的device 本來就比實體機少,所以能產生的Entropy也就更少。
檢查方法:
cat /proc/sys/kernel/random/entropy_avail
通常至少要1024以上才對,結果virtualbox 只有145.....
上網找了幾種解法:
[1] Increasing Entropy in VM for Kerberos
[2] Linux (CentOS 7) - Increasing Available Entropy using Software Tools
[3] How to Setup Additional Entropy for Cloud Servers Using Haveged
[4] More entropy with haveged
最簡單的方法就是安裝Haveged (HArdware Volatile Entropy Gathering and Expansion) 這個套件
yum install -y haveged systemctl enable haveged.service
這時候再執行cat /proc/sys/kernel/random/entropy_avail會發現entropy會緩慢上升
但是只要重開機一下,瞬間就會從1xx-->3xxx
接下來就可以繼續安裝KDC了...Orz...
沒有留言:
張貼留言