PXE「書き込みエラー:デバイスに残りのスペースがありません」でVMを起動できず、dracut環境で終了します。

PXE「書き込みエラー:デバイスに残りのスペースがありません」でVMを起動できず、dracut環境で終了します。

KVMゲストを自動的に展開するためにPXEサーバーを設定しています。

KVMハイパーバイザーホスト:Fedora 29

KVMゲスト:Centos 7

インストール中に問題が発生しました。/sbin/dmsquash-live-root: 書き込みエラー: デバイスに余分なスペースがありません。その後、いくつかの「タイムアウトスクリプト」が起動し、次のインストールが失敗します。

環境の簡単な概要:

  1. 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アドレスを取得します。

  1. 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を取得します。

  1. 私は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
  1. インストールソースは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.imghttp://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-initqueueRAMsquashfs.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に設定されています。

関連情報