AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[lxc](server)

Martin Hope
Danielo515
Asked: 2022-03-23 01:19:10 +0800 CST

Proxmox 容器移到了错误的机器上,现在它被困在那里

  • 0

我有一个具有三个节点的 HA proxmox 集群。

我在两个节点之间进行了复制。这两个节点中的每一个都有一个用于复制的 ZFS 池。我在这两个带有 ZFS for HA 的服务器之间设置了复制规则。

我有一个较旧的第三个节点(称为虚拟),它没有任何 ZFS 磁盘,因此我不将它用作复制目标。

今天一个带有 ZFS 的节点死了,一个容器(CT)在第三个节点上结束了,非 ZFS 的那个,我不知道是怎么回事。

因为这第三个节点没有任何 ZFS 池(也没有复制的卷),所以容器处于奇怪的状态,因为它引用的磁盘不存在。现在我无法将此 CT 迁移到正确的剩余节点。

当我尝试将 CT 迁移到正确的节点时,我收到此错误:

Replication Log



2022-03-21 17:53:01 105-0: start replication job

2022-03-21 17:53:01 105-0: guest => CT 105, running => 0

2022-03-21 17:53:01 105-0: volumes => rpool:subvol-105-disk-0

2022-03-21 17:53:01 105-0: create snapshot '__replicate_105-0_1647881581__' on rpool:subvol-105-disk-0

2022-03-21 17:53:01 105-0: end replication job with error: zfs error: For the delegated permission list, run: zfs allow|unallow

显然第三个节点没有 rpool 卷,所以我不知道为什么 proxmox 决定将那个 CT 迁移到那里。如何在剩余节点上启动该容器?具有 ZFS 池的服务器上存在相应的磁盘,我不能只迁移到它。

这是我当前集群状态和复制任务的屏幕截图。如您所见,复制仅在节点 proxmox-2 和 proxmox-3 之间完成,它们是具有 ZFS 存储的节点。我所说的容器是 ID 为 105 的容器

高可用状态

proxmox lxc
  • 1 个回答
  • 192 Views
Martin Hope
Terry G Lorber
Asked: 2022-01-12 08:51:42 +0800 CST

LXC 实例没有 IPv4 地址

  • 1

我在让 LXC 实例获取 IPv4 地址方面取得的成功有限。它在创建时有效,但如果我重新启动主机,所有地址都会丢失。

托管 Ubuntu 21.10

客户端版本:4.21

服务器版本:4.21

图像 Ubuntu 21.10

tgl@electra : ~ $ lxd 版本
4.21
tgl@electra : ~ $ lxc 版本
客户端版本:4.21
服务器版本:4.21
tgl@electra : ~ $ lxc 列表
+---------+---------+------+---------- -------------------------+-----------+------------+
| 姓名 | 状态 | IPV4 | IPV6 | 类型 | 快照 |
+---------+---------+------+---------- -------------------------+-----------+------------+
| 玛丽亚数据库 | 运行 | | fd42:594a:5292:77f3:216:3eff:fe3c:7abe (eth0) | 集装箱 | 0 |
+---------+---------+------+---------- -------------------------+-----------+------------+
| nginx1 | 运行 | | fd42:594a:5292:77f3:216:3eff:fe85:b910 (eth0) | 集装箱 | 0 |
+---------+---------+------+---------- -------------------------+-----------+------------+
| nginx2 | 运行 | | fd42:594a:5292:77f3:216:3eff:feb3:3103 (eth0) | 集装箱 | 0 |
+---------+---------+------+---------- -------------------------+-----------+------------+
| nginx3 | 运行 | | fd42:594a:5292:77f3:216:3eff:feaf:5288 (eth0) | 集装箱 | 0 |
+---------+---------+------+---------- -------------------------+-----------+------------+
| 代理 | 运行 | | fd42:594a:5292:77f3:216:3eff:fee7:5013 (eth0) | 集装箱 | 0 |
+---------+---------+------+---------- -------------------------+-----------+------------+
tgl@electra : ~ $ lxc 网络列表
+--------+----------+---------+----------------+-- -------------------------+-------------+---------+
| 姓名 | 类型 | 托管 | IPV4 | IPV6 | 说明 | 由 | 使用
+--------+----------+---------+----------------+-- -------------------------+-------------+---------+
| eth0 | 物理 | 否 | | | | 0 |
+--------+----------+---------+----------------+-- -------------------------+-------------+---------+
| lxdbr0 | 桥 | 是 | 10.88.102.1/24 | fd42:594a:5292:77f3::1/64 | | 6 |
+--------+----------+---------+----------------+-- -------------------------+-------------+---------+
tgl@electra : ~ $ 
networking lxc
  • 1 个回答
  • 487 Views
Martin Hope
shawty
Asked: 2021-10-30 01:44:46 +0800 CST

如何在 cloud-init 脚本中下载和安装常规 DPKG 包?

  • 1

我正在使用 LXD/LXC 在 Linux 主机上构建轻量级容器。

这些容器的唯一目的是托管“Dotnet 和 Dotnet 核心应用程序”

有一段时间我一直在使用 Ansible,但最近我发现我实际上可以将一个 init 脚本嵌入到容器配置的用户数据中,然后 cloud-init 会执行它。

这很棒,并且允许我设置一个给定的容器,其中包含它需要的包,除了一个问题。

微软

(我知道,我知道......保存笑话和诽谤:-D)

与大多数第 3 方软件包提供商不同,MS 将其全部添加的 deb 源和 GPG 密钥打包在一个独立的 dpkg 软件包文件中,该软件包文件未通过普通 repos 列出,因此基本上必须“wget”下载然后安装使用常规的 dpkg 命令。

现在,这就是我做事的方式:

#cloud-config

# apply updates using apt
package_update: true
package_upgrade: true

# set hostname
hostname: ****
fqdn: ****
manage_etc_hosts: true

# Install 3rd party software repos
# NOTE: This is done using run command due to the way microsoft distribute things using a raw dpkg
runcmd:
  - [wget, "https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb", -O, /root/packages-microsoft-prod.deb]
  - dpkg -i /root/packages-microsoft-prod.deb
  - rm /root/packages-microsoft-prod.deb
  - apt update
  - apt-get install dotnet-sdk-3.1 -y
  - apt-get install dotnet-sdk-5.0 -y

# Install standard packages
packages:
  - apt-transport-https
  - python3
  - python-is-python3
  - mc
  - gnupg
  - nginx
  - git

# Add users
users:
  - name: ****
    ssh-authorized-keys:
      - ssh-rsa **** rsa-key-BLAH
    sudo: ['****']
    groups: sudo
    shell: /bin/bash

final_message:
  - "Container initialisation complete."

关键部分是“runcmd”部分。

因为我使用的是“runcmd”,所以它在其他所有内容之后运行,包括我放入所有需要使用的标准包的正常包安装部分。

我最喜欢做的是安装 dpkg 文件,然后只需将要安装的包名称添加到普通包部分,例如

# Something here to download and install the dpkg

# Install standard packages
packages:
  - apt-transport-https
  - python3
  - python-is-python3
  - mc
  - gnupg
  - nginx
  - git
  - dotnet-sdk-3.1
  - dotnet-sdk-5.0

我确实尝试只将那个位放在 runcmd 中,但因为它作为最后一步运行,它会导致包部分失败,因为没有安装 dotnet 的 repo。

我还尝试使用“Apt”模块,将“microsoft-prod.list”安装到“/etc/apt/sources.list.d”中,但这也失败了,因为 MS 没有发布他们的 GPG 密钥,另外由于它是不受信任的源,因此在执行 apt 更新时,源会导致失败。

我已经搜索了 cloud-init 的模块文档,但我找不到任何似乎表明可以下载和添加常规 dpkg 文件的内容,因此我在这里问:-)

apt dpkg cloud-init lxd lxc
  • 2 个回答
  • 766 Views
Martin Hope
simonw
Asked: 2021-09-22 07:14:09 +0800 CST

LXD on ZFS on LVM on H/W RAID 10

  • 1

我有一台带有 PERC H730P 的戴尔 R540,在 12 个磁盘上运行 RAID 10,大约 22TB。我想在 LXD 容器中运行各种应用程序/服务。

我知道 ZFS 更适合 LXC 存储池,而 ZFS 更喜欢直接访问原始磁盘。

我天真的方法是在硬件 RAID 上使用 LVM 配置 Ubuntu,并让 LXD 使用默认设置(LVM 上的 EXT4 上的 ZFS.img ...)初始化。我的阅读是,这将“正常工作”,但不是最佳性能/保护方面。

有人可以提供一些指导吗?谢谢!

lvm raid zfs lxd lxc
  • 1 个回答
  • 131 Views
Martin Hope
ICIM
Asked: 2021-07-22 03:03:38 +0800 CST

找不到 Debian LXC 命令

  • 1

我正在尝试使用 LXC 进行操作,并且我已经能够使用lxc-*命令进行管理,但现在我被迫复制文件并且我被卡住了,因为我无法复制文件,我已经阅读了使用lxc fileI可以做到。但始终会出现未找到命令的消息。

我试过谷歌搜索、检查论坛、尝试奇怪的东西等。但这些都没有奏效。

我想我需要安装lxc-clientand or lxd,但我无法安装它,或者即使我设法安装它,复制命令对我也不起作用。以下是我尝试过的一些事情:

apt install snapd
snap refresh
snap install snapd
snap install core

snap install lxd

apt-get install lxc-client
apt-get install lxd

我知道有数百个类似的问题,几乎所有的问题都有答案,但我不明白他们做了什么让它对他们有用。

我也不太明白 lxc 必须使用两种不同类型的命令有什么区别,使用lxc -ls的命令和使用空格lxc 文件的命令

debian installation lxc
  • 1 个回答
  • 869 Views
Martin Hope
user1801810
Asked: 2021-03-31 09:17:59 +0800 CST

LXD 容器 IPv4 接口管理

  • 0

Ubuntu 18.04.4
lxd 3.0.3
lxc 3.0.3

我已经有几个容器运行了很长时间没有问题。今天我正在对我的网络进行更改,其中一个容器获取了一个 DHCP 地址。

user@localhost:/tmp$ sudo lxc list host_a
+-----------------------+---------+--------------------------+------+------------+-----------+
|         NAME          |  STATE  |           IPV4           | IPV6 |    TYPE    | SNAPSHOTS |
+-----------------------+---------+--------------------------+------+------------+-----------+
| host_a                | RUNNING | 192.168.112.5 (vlan112)  |      | PERSISTENT | 3         |
|                       |         | 192.168.11.8 (eth0)      |      |            |           |
|                       |         | 192.168.11.193 (eth0)    |      |            |           |
+-----------------------+---------+--------------------------+------+------------+-----------+

接口 192.168.112.5 和 192.168.11.8 是原始接口,一直存在,需要保留。接口192.168.11.193是今天网络变化时出现的接口,我找不到删除。我在容器中找不到它,我不知道如何通过 lxc 将其删除。我求助于重新启动容器和 lxd 主机,但它仍然存在。

virtualization linux-networking containers lxd lxc
  • 1 个回答
  • 64 Views
Martin Hope
Łukasz Zaroda
Asked: 2020-12-24 13:10:23 +0800 CST

在“路由”模式下设置的 LXC 容器中没有网络连接

  • 4

我在 Vagrant 中尝试使用 lxc/lxd,但我对它很陌生。我设法创建了正在运行的容器,但我无法从其中 ping 任何东西(包括 8.8.8.8)。我可以从我的顶级非虚拟系统 ping 它的 IP,但它拒绝 SSH 连接。我只能使用直接从容器的主机(Vagrant)直接进入容器lxc exec my-container /bin/bash。

routed出于学习目的,我尝试在该模式下设置我的容器,但我仍然想要它。不过,LXD/LXC 文档似乎有些欠缺。

我尝试按照以下说明操作:https ://blog.simos.info/how-to-get-lxd-containers-get-ip-from-the-lan-with-routed-network/但它不起作用我到底。我可能会错过一些东西,因为我还不精通 linux 网络。

我的 Vagrant 主机正在运行Ubuntu 20.04。

我的 LXC 容器正在运行Debian 10。

我的 Vagrant 主机上的 LXC 配置:

config:
  core.https_address: '[::]:8443'
  core.trust_password: true
networks: []
storage_pools:
- config:
    source: /home/luken/lxd-storage-pools
  description: ""
  name: default
  driver: dir
profiles:
- name: default
  config: {}
  description: ""
  devices:
    root:
      path: /
      pool: default
      type: disk
- name: mail-server
  config:
    user.network-config: |
      version: 2
      ethernets:
        eth0:
          addresses:
          - 192.168.33.11/32
          nameservers:
            addresses:
            - 8.8.8.8
            search: []
          routes:
          -   to: 0.0.0.0/0
            via: 169.254.0.1
  description: Mail Server LXD profile
  devices:
    eth0:
      ipv4.address: 192.168.33.11
      nictype: routed
      parent: eth1
      type: nic
cluster: null

ip addr在我的流浪主机中:

luken@luken-tech-test:~$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:be:4a:e8 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic eth0
       valid_lft 76347sec preferred_lft 76347sec
    inet6 fe80::a00:27ff:febe:4ae8/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:65:e6:28 brd ff:ff:ff:ff:ff:ff
    inet 192.168.33.2/24 brd 192.168.33.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe65:e628/64 scope link 
       valid_lft forever preferred_lft forever
6: vetha8400046@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether fe:48:28:3e:e4:fa brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 169.254.0.1/32 scope global vetha8400046
       valid_lft forever preferred_lft forever
    inet6 fe80::fc48:28ff:fe3e:e4fa/64 scope link 
       valid_lft forever preferred_lft forever

ip addr在我的容器中:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    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: eth0@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 9a:14:96:30:67:43 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 192.168.33.11/32 brd 255.255.255.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::9814:96ff:fe30:6743/64 scope link 
       valid_lft forever preferred_lft forever

ip r在我的流浪主机中:

default via 10.0.2.2 dev eth0 proto dhcp src 10.0.2.15 metric 100 
10.0.2.0/24 dev eth0 proto kernel scope link src 10.0.2.15 
10.0.2.2 dev eth0 proto dhcp scope link src 10.0.2.15 metric 100 
192.168.33.0/24 dev eth1 proto kernel scope link src 192.168.33.2 
192.168.33.11 dev vetha8400046 scope link

ip r在我的容器中:

default via 169.254.0.1 dev eth0 
169.254.0.1 dev eth0 scope link

有什么我错过的吗(可能很多)?

networking linux-networking lxd lxc
  • 2 个回答
  • 3317 Views
Martin Hope
ddibiase
Asked: 2020-12-13 18:55:11 +0800 CST

在 Ubuntu 之上的 LXC 中创建一个 Alpine 容器

  • 0

我已经为 apt 安装了 Ubuntu Server 和 LXC 的新服务器。我一直在阅读文档并试图了解如何导入图像/模板。我很难理解如何导入公共图像列表,特别是如何使用 Alpine 设置新实例。我相信这可以通过 ISO 的压缩包(来自手册页)来完成,但也有一个远程选项。

这里的 LXC 容器列表:https ://us.images.linuxcontainers.org/ 说这些可以通过 lxc-download 模板获得,我认为这是一个触发模板的命令,但现在我更加困惑了。

lxc
  • 1 个回答
  • 826 Views
Martin Hope
TCB13
Asked: 2020-10-11 04:45:07 +0800 CST

LXD/LXC:磁盘设备和 lxc.mount.entry 的区别

  • 1

我一直在使用以下内容将 LCX 主机中的文件夹共享到容器中:

lxc config device add containerxyz directoryname disk source=/storage/containerxyz path=/mnt/storage/

这工作得很好,我可以让容器读取和写入文件到/storage/containerxyz主机中的路径,但是我在网上看到有人建议这样做:

lxc.mount.entry = /storage/containerxyz /var/lib/lxc/containerxyz/rootfs/mnt/storage/ none bind 0 0

这两种使主机目录可用于容器的方法之间的实际区别是什么?每种方法的缺点是什么?

mount lxc
  • 1 个回答
  • 1126 Views
Martin Hope
Julen Larrucea
Asked: 2020-08-19 11:22:05 +0800 CST

nftables 不写入系统日志

  • 1

在 LXC 容器上运行 Debian 10:

# apt-get -y install nftables
# nft --version
nftables v0.7 (Scrooge McDuck)
# nft flush ruleset
# nft add table inet filter
# nft add chain inet filter input
# nft add rule inet filter input log
# nft list ruleset
table inet filter { 
    chain input {
        log
    }
}

然后,我去/var/log/syslog,创建一些网络流量,然后......我根本看不到来自nftables的消息。

我也尝试(不成功)以这种方式定义规则:

nft add rule inet filter input log prefix \"FINDME \" counter

更多测试:

# logger test && tail -1 /var/log/syslog
Aug 18 20:39:53 my-server root: test
# echo "test2" | systemd-cat && tail -1 /var/log/syslog
Aug 18 20:40:52 my-server cat[1907]: test2
# uname -v
 #1 SMP PVE 5.4.34-2 (Thu, 07 May 2020 10:02:02 +0200)

为什么nftables不写入我的系统日志?

作为一个额外的问题:当比赛发生时有什么方法可以触发动作吗?例如,将被阻止的 IP 存储在数据库中。

linux logging debian nftables lxc
  • 2 个回答
  • 1903 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve