0

我在 kickstart Virtuozzo 上安装后遇到问题。使用kickstart,我可以正常安装OS Virtuozzo。但是在我尝试添加安装后脚本后,脚本 prl 出现问题。

以下是我的脚本安装后:

%post --log=/root/ks-post.log

# delete all virtual network
while true; do prlsrvctl net list | awk {'print $1}' | tail -n +2 | while read line; do prlsrvctl net del $line; done && echo -e "$(date)\tSuccess" && break; echo -e "$(date)\tFailed"; systemctl status prl-disp.service; sleep 15; done

# delete all interface include bridge network
brctl show| awk {'print $1'}| tail -n +2| while read line; do ip link set $line down && brctl delbr $line; done
nmcli c s|awk {'print $1'}| tail -n +2| while read line; do nmcli c down $line && ip link set $line nomaster && nmcli c d $line; done
#ip a| awk -F: {'print $2'}| grep 'br\|enp'| awk -F @ {'print $1'}| while read line; do ip link set $line down; done
#ip a| awk -F: {'print $2'}| grep enp| awk -F @ {'print $1'}| while read line; do ip link set $line nomaster; done

# create virtual network
for net in net01 net02 net03; do prlsrvctl net add $net; done

# create interface
nmcli c a type vlan con-name enp2s0f0.501 dev enp2s0f0 id 501 master virbr2
nmcli c a type ethernet con-name enp2s0f0 ifname enp2s0f0 master virbr1
nmcli c a type ethernet con-name enp2s0f1 ifname enp2s0f0 master virbr3
nmcli c s| grep bridge| awk {'print $1'}| while read line; do nmcli c m $line connection.autoconnect yes ipv4.method auto bridge.stp yes bridge.forward-delay 15; done

# delete ip link virbr#-nic
ip a| awk -F: {'print $2'}| grep nic| while read line; do ip link del $line; done

# restart network
systemctl restart network

# up2date
yum update -y; yum install epel-release -y; yum update -y

# set hostname
dig -x 192.168.75.206 +short |sed 's/.$//' > /etc/hostname; hostname -F /etc/hostname
echo "hostname changed. below is the hostname"
cat /etc/hostname

# reboot
reboot
%end

当我检查日志时,命令 prl 有问题。这些就像 prl-disp 没有运行。

Login failed: Unable to connect to Virtuozzo. You may experience a connection problem or the server may be down. Contact your Virtuozzo administrator for assistance.
Virtual network has been deleted
Connection 'enp2s0f0' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/0)
Error: 'enp2s0f0' is not an active connection.
Error: no active connection provided.
Error: 'enp2s0f1' is not an active connection.
Error: no active connection provided.
Interface are cleaned
Login failed: Unable to connect to Virtuozzo. You may experience a connection problem or the server may be down. Contact your Virtuozzo administrator for assistance.
Login failed: Unable to connect to Virtuozzo. You may experience a connection problem or the server may be down. Contact your Virtuozzo administrator for assistance.
Login failed: Unable to connect to Virtuozzo. You may experience a connection problem or the server may be down. Contact your Virtuozzo administrator for assistance.
virtual network virtuozzo are created
Warning: master='virbr2' doesn't refer to any existing profile.
Error: Failed to add 'enp2s0f0.501' connection: connection.slave-type: Cannot set 'master' without 'slave-type'
Warning: master='virbr1' doesn't refer to any existing profile.
Error: Failed to add 'enp2s0f0' connection: connection.slave-type: Cannot set 'master' without 'slave-type'
Warning: master='virbr3' doesn't refer to any existing profile.
Error: Failed to add 'enp2s0f1' connection: connection.slave-type: Cannot set 'master' without 'slave-type'
interface are prepared, restart network for discover an IP address
interface virbr with nic has been deleted
Running in chroot, ignoring request.
network restarted
Loaded plugins: fastestmirror, langpacks, priorities, product-id, refresh-
              : packagekit, rhsm-auto-add-pools, search-disabled-repos, shaman,
              : virtuozzo, vzlinux, yum-plugin-readykernel
Unable to send message to PackageKit
Trying to discover and attach new pools


 One of the configured repositories failed (Unknown),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Run the command with the repository temporarily disabled
            yum --disablerepo=<repoid> ...

     4. Disable the repository permanently, so yum won't use it by default. Yum
        will then just ignore the repository until you permanently enable it
        again or use --enablerepo for temporary usage:

            yum-config-manager --disable <repoid>
        or
            subscription-manager repos --disable=<repoid>

     5. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

Cannot find a valid baseurl for repo: virtuozzo-os
Could not retrieve mirrorlist http://repo.virtuozzo.com/vz/mirrorlists/7.0/releases-os.mirrorlist error was
14: curl#6 - "Could not resolve host: repo.virtuozzo.com; Unknown error"
Loaded plugins: fastestmirror, langpacks, priorities, product-id, refresh-
              : packagekit, rhsm-auto-add-pools, search-disabled-repos, shaman,
              : virtuozzo, vzlinux, yum-plugin-readykernel
Unable to send message to PackageKit
Trying to discover and attach new pools


 One of the configured repositories failed (Unknown),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Run the command with the repository temporarily disabled
            yum --disablerepo=<repoid> ...

     4. Disable the repository permanently, so yum won't use it by default. Yum
        will then just ignore the repository until you permanently enable it
        again or use --enablerepo for temporary usage:

            yum-config-manager --disable <repoid>
        or
            subscription-manager repos --disable=<repoid>

     5. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

Cannot find a valid baseurl for repo: virtuozzo-os
Could not retrieve mirrorlist http://repo.virtuozzo.com/vz/mirrorlists/7.0/releases-os.mirrorlist error was
14: curl#6 - "Could not resolve host: repo.virtuozzo.com; Unknown error"
Loaded plugins: fastestmirror, langpacks, priorities, product-id, refresh-
              : packagekit, rhsm-auto-add-pools, search-disabled-repos, shaman,
              : virtuozzo, vzlinux, yum-plugin-readykernel
Unable to send message to PackageKit
Trying to discover and attach new pools


 One of the configured repositories failed (Unknown),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Run the command with the repository temporarily disabled
            yum --disablerepo=<repoid> ...

     4. Disable the repository permanently, so yum won't use it by default. Yum
        will then just ignore the repository until you permanently enable it
        again or use --enablerepo for temporary usage:

            yum-config-manager --disable <repoid>
        or
            subscription-manager repos --disable=<repoid>

     5. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

Cannot find a valid baseurl for repo: virtuozzo-os
Could not retrieve mirrorlist http://repo.virtuozzo.com/vz/mirrorlists/7.0/releases-os.mirrorlist error was
14: curl#6 - "Could not resolve host: repo.virtuozzo.com; Unknown error"
hostname: the specified hostname is invalid
hostname changed. below is the hostname

; <<>> DiG 9.9.4-RedHat-9.9.4-38.vl7.2 <<>> -x 192.168.75.206 +shor
;; global options: +cm
;; connection timed out; no servers could be reache
Running in chroot, ignoring request.

约束使我的配置无法正常工作。

从安装后,我应该做任何命令/配置吗?现在我只是在学习它。所以我真的需要一些线索来了解这个问题的原因。

对不起我的英语不好,谢谢。

4

1 回答 1

0

回答有点晚了,但希望这对某人有所帮助。您没有说明您尝试安装哪个版本的 Virtuozzo,但我会假设 Virtuozzo 7,因为我个人不会使用 Virtuozzo 6 构建任何新系统。

您发布的错误似乎表明您在安装后没有配置网络,我可以在您的安装后操作中看到您正在禁用网络并且它没有再次设置。这会阻止 prl-disp 工作,并且不允许 prlsrvctl 之后运行(尽管它在删除所有默认 Virtuozzo 网桥的步骤中确实有效)。这也是最后出现 YUM 错误的原因。

您在安装后有很多操作应该使用标准的 kickstart 选项来处理。

主机名、网络设备和所有 nmcli 应使用kickstart中的“网络”选项进行处理。

更好的方法是使用默认的 GUI 安装程序来手动配置系统,一旦您安装了可以使用的安装程序,您就可以使用生成的 kickstart(应该位于新的 /root/original-ks.cfg安装系统),然后在安装后添加您的特殊酱汁。通过这种方式,您可以从已知可以工作并且知道所有网络设备名称的基本 kickstart 开始,然后添加您的自定义。

于 2018-02-16T03:28:11.853 回答