KVMゲストを自動的に展開するためにPXEサーバーを設定しています。
KVMハイパーバイザーホスト:Fedora 29
KVMゲスト:Centos 7
インストール中に問題が発生しました。/sbin/dmsquash-live-root: 書き込みエラー: デバイスに余分なスペースがありません。その後、いくつかの「タイムアウトスクリプト」が起動し、次のインストールが失敗します。
環境の簡単な概要:
- DHCPサーバーに問題はありません
dhcpd 構成ファイル
subnet 172.31.0.0 netmask 255.255.255.0 {
range 172.31.0.51 172.31.0.120;
default-lease-time 1800;
max-lease-time 3600;
next-server 172.31.0.32;
filename "pxelinux/pxelinux.0";
option routers 172.31.0.1;
option subnet-mask 255.255.255.0;
option broadcast-address 172.31.0.255;
option domain-name-servers 172.31.0.2;
option domain-name "corp.example.com";
}
VMは実際にIPアドレスとTFTPサーバーのIPアドレスを取得します。
- TFTPサーバーも機能します
[root@kickstart ~]# ll /var/lib/tftpboot/pxelinux/
total 57872
-rw-r--r--. 1 root root 52584760 Apr 29 17:07 initrd.img
-rw-r--r--. 1 root root 26759 Apr 29 17:02 pxelinux.0
drwxr-xr-x. 2 root root 21 May 1 13:48 pxelinux.cfg
-rwxr-xr-x. 1 root root 6639904 Apr 29 17:07 vmlinuz
起動ファイル
[root@kickstart ~]# cat /var/lib/tftpboot/pxelinux/pxelinux.cfg/default
default Linux
prompt 1
timeout 10
display boot.msg
label Linux
menu label ^Install Centos MA MAN
menu default
kernel vmlinuz
append initrd=initrd.img ks=http://kickstart.corp.example.com/anaconda/anaconda-ks.cfg
VMは実際にvmlinuzとinitrd.imgを取得します。
- 私はanaconda-ks.cfgがかなり標準的だと思います。
ignoredisk --only-use=sda
keyboard 'us'
rootpw --iscrypted $1$tg.NYz9t$GnRVNLuQdB6mperFmUdwL.
lang en_US
halt
timezone America/New_York
text
network --bootproto=dhcp --device=eth0
network --hostname=test1.corp.example.com
url --url="http://kickstart.corp.example.com/install" # Apache server
auth --useshadow --passalgo=sha512
firewall --enabled --port=ssh
selinux --enforcing
skipx
bootloader --location=mbr --boot-drive=sda
autopart --type=lvm
clearpart --none --initlabel
- インストールソースはApacheサーバーです。
Webで利用可能です。
<VirtualHost *:80>
DocumentRoot /www/docs/kickstart.corp.example.com
ServerName kickstart.corp.example.com
Options +Indexes
</VirtualHost>
「SATAリンクダウン」メッセージ(上記のスクリーンショットを参照)と/ dev / loop0マウントの問題が見つかりましたが、それを解釈する方法がわかりません。
どこをもっと掘り下げるべきかわかりません。
答え1
この時点で、ゲストはカーネルを正常に起動し、initramfs 環境で実行しています。インストーラinitramfsは<CentOS DVD root>/LiveOS/squashfs.img
。http://kickstart.corp.example.com/install/LiveOS/squashfs.img
(後者が真の場合は、そのinst.stage2=http://kickstart.corp.example.com/install
行にappend
起動オプションを追加して/var/lib/tftpboot/pxelinux/pxelinux.cfg/default
ローカルソースから強制的にロードできます。)
ルートファイルシステムはまだマウントされていないため、RAMディスクにロードされます。この時点で、インストーラUIはまだ起動しておらず、カーネルはローカルディスクが存在することを検出しましたが、ローカルディスクにはまったく触れませんでした/dev/vda
。
私が持っていた以前のCentOS 7 ISOイメージのsquashfs.img
ファイルサイズは352MiBです。最新バージョンはおそらくこれより少し大きくなります。curl
記録されたメッセージ(実際にダウンロードを実行するためのツール)に含まれる出力は、dracut-initqueue
RAMsquashfs.img
サイズが432MiBであり、容量が不十分で、ダウンロードが約75%で中断されることを示します。スペース(RAMディスクが想定)
ダウンロードが不完全なため、インストールが失敗squashfs.img
し、RAMディスクがまだ100%いっぱいになり、No space left on device
エラーメッセージが表示されます。
ゲストVMにどのくらいのRAMが割り当てられていますか?仮想マシンが小さいと、メモリが不足する可能性があります。
答え2
私はこのエラーが実際には「vda」と呼ばれる「sda」とマークされた仮想ドライブを指すキックスタートファイルのために発生したと思います。公開した出力の途中に「vda」と表示され、サイズは約21GBです。
ignoredisk --only-use=vda
bootloader --location=mbr --boot-drive=vda
clearpart --all --initlabel --drives=vda
anaconda-ks.cfgファイルで次のように変更するだけです。私の明確な部分コマンドは--allで、あなたのコマンドは--noneに設定されています。