Diskless boot always fail - error dracut - could not boot

Latest response

Hi all. I am try to run diskless client, but always have error - "Could not boot" from dracut. I'm using PXE, tftp and nfs. client iso build using rsync. Tftp work properly. I think it's error in nfs.
My pxelinux.cfg/default :
default rhel7

label rhel7
kernel vmlinuz-3.10.0-693.el7.x86_64
append initrd=initramfs-3.10.0-693.el7.x86_64.img
root=nfs:10.0.0.1:/nodeboot rw

Show mount output :
$ showmount -e 10.0.0.1
Export list for 10.0.0.1:
/nodeboot 10.0.0.1/24

What a problem? What i'm doing wrong?
I configure all like in https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html-single/Storage_Administration_Guide/index.html#ch-disklesssystems
But always get error - "Could not boot".
Server OS rhel 7

Responses

Could you in the log see if the network is working correctly? Check the console log output for any errors.

Sorry for my misunderstanding, how can i check log output?(After error open's dracut console)

Hi, check this link.

[3.406833] SD 4:0:0:1:[sda] Attached SCSI removable disk [121.603218] random: crng init done After this line started dracut-timeout and open dracut shell. This is what you need?

When you're in dracut shell, check if the NFS is mounted, try dmesg and check the logs/journarctl if you can see something.

In logs, I don't see any string about nfs, but there is one error - "ERST: Failed to get Error Log Address Range."

The error is probably related to this. Is the network up and running when you are in the dracut? Are you able to ping the NFS server?

From a different machine, are you able to mount the NFS directory from that server?

You're right. When i try to ping my nfs server, it's say - "connect: Network is unreachable". It's mean that my dhcp isn't working? When I run the diskless node it get ip from dhcp config and write that it connect to tftp and get initramfs and vmlinuz files. Or it's only nfs isn't working? When I on server check showmount:

[root@localhost /]# showmount -e 10.0.0.1
Export list for 10.0.0.1:
/nodeboot 10.0.0.1/24

Status nfs is :

[root@localhost /]# systemctl status nfs
● nfs-server.service - NFS server and services
   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled)
  Drop-In: /run/systemd/generator/nfs-server.service.d
           └─order-with-mounts.conf
   Active: active (exited) since Вто 2017-08-22 15:10:35 EEST; 1h 8min ago
  Process: 3208 ExecStopPost=/usr/sbin/exportfs -f (code=exited, status=0/SUCCESS)
  Process: 3206 ExecStopPost=/usr/sbin/exportfs -au (code=exited, status=0/SUCCESS)
  Process: 3202 ExecStop=/usr/sbin/rpc.nfsd 0 (code=exited, status=0/SUCCESS)
  Process: 3229 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS)
  Process: 3225 ExecStartPre=/bin/sh -c /bin/kill -HUP `cat /run/gssproxy.pid` (code=exited, status=0/SUCCESS)
  Process: 3222 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
 Main PID: 3229 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/nfs-server.service

Авг 22 15:10:35 localhost.localdomain systemd[1]: Starting NFS server and services...
Авг 22 15:10:35 localhost.localdomain systemd[1]: Started NFS server and services.

And DHCP config look's:

# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
allow booting;
allow bootp;
default-lease-time 86400;
max-lease-time 864000;
option subnet-mask 255.255.255.0;
option broadcast-address 10.0.0.255;
option routers 10.0.0.1;
option domain-name-servers 10.0.0.1;
#option domain-search "example.com";

subnet 10.0.0.0 netmask 255.255.255.0 {
        interface em2;
        authoritative;
        option routers                  10.0.0.1;
        option subnet-mask              255.255.255.0;
        ddns-update-style                               none;
        #option domain-search            "example.com";
        option domain-name-servers  10.0.0.1;
        #option time-offset              -18000;     # Eastern Standard Time
        range 10.0.0.240 10.0.0.249;

        group{
          next-server 10.0.0.1;
          filename "pxelinux.0";
          host front0_em2           { option host-name "front0_em2";    hardware ethernet 00:00:00...00; fixed-address 10.0.0.1;  }
          host node00_0_eth0    {  hardware ethernet 00:00:00...00; fixed-address 10.0.0.100;}
          host node00_0_eth1    { option host-name "node00_0_eth1"; hardware ethernet 00:00:00...00; fixed-address 10.0.0.200;}
        }
}

Check if the server got an IP/mask/gateway from DHCP and you are able to ping the GW.

Yes, it get address

[root@localhost /]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:00:00:...:00 brd ff:ff:ff:ff:ff:ff
    inet 192.168.19.151/24 brd 192.168.19.255 scope global em1
       valid_lft forever preferred_lft forever
    inet6 fe80::1a07:9d4b:22d5:988e/64 scope link 
       valid_lft forever preferred_lft forever
3: em2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:00:00:...:00 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.1/24 brd 10.0.0.255 scope global em2
       valid_lft forever preferred_lft forever
    inet6 fe80::34c:99e7:bf8d:93d/64 scope link 
       valid_lft forever preferred_lft forever

Hi Artem,

can you provide output of:

ip route

Kind regards,

Jan Gerrit Kootstra

Hi. It's look's:

[root@localhost /]# ip route
default via 192.168.19.1 dev em1 proto static metric 100 
default via 10.0.0.1 dev em2 proto static metric 101 
10.0.0.0/24 dev em2 proto kernel scope link src 10.0.0.1 metric 100 
192.168.19.0/24 dev em1 proto kernel scope link src 192.168.19.151 metric 100 

Hi Artem,

group{ next-server 10.0.0.1;

      filename "pxelinux.0";

      host front0_em2           { option host-name "front0_em2";    hardware ethernet 00:00:00...00; fixed-address 10.0.0.1;  }

      host node00_0_eth0    {  hardware ethernet 00:00:00...00; fixed-address 10.0.0.100;}

      host node00_0_eth1    { option host-name "node00_0_eth1"; hardware ethernet 00:00:00...00; fixed-address 10.0.0.200;}

    }

====================================================================================

host front0_em2 { option host-name "front0_em2"; hardware ethernet 00:00:00...00; fixed-address 10.0.0.1; }

It looks to me that you assign the same ip-address to the diskless server as the your tftp/nfs server, so you create an ip-conflict during configuration of the diskless server.

Am I correct?

Regards,

Jan Gerrit Kootstra

Server have 4 ethernet ports, em2 port connect with diskless client. In my vision tftp and nfs have same ip that em2 it's wrong?

Hi Artem,

I would give tftp/nfs server fixed ip-address, not a DHCP host entry with fixed address.

Zdenek and I are interested in diskless client ip-address information too, not only the tftp/nfs server.

Can you provide the ip addr show and ip route information of the diskless client when it is dropped to dracut shell?

Regards,

Jan Gerrit

I understand, there is what give ip addr show on diskless client - http://imgur.com/a/SjhVF But when i run diskless client it get ip address or i wrong understard? - http://imgur.com/a/phOEY

Hi Artem,

The ip-address assignment works fine. Do you see errors in the tftp logs on the tftp/nfs server?

Regards,

Jan Gerrit

Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.