Xen: vrom Debian 10 を 12 にアップグレードして再起動した後、一部の論理ボリュームが欠落しています。

Xen: vrom Debian 10 を 12 にアップグレードして再起動した後、一部の論理ボリュームが欠落しています。

Debian Xen サーバーを 10 から 11 に更新し、再起動せずに Debian 12 に更新してからサーバーを再起動したところ、一部の仮想マシンのみが起動します。

vm06はうまく動作しますが、vm04はそうではありません。 (もっとたくさんありますが、読みやすくするためにこの質問から削除しました。)

これで、/dev/vg0 フォルダにはリンクされた vlumes の一部しかありません。

# ll /dev/vg0/
total 0
lrwxrwxrwx 1 root root 7 Aug 20 17:04 backup -> ../dm-2
lrwxrwxrwx 1 root root 7 Aug 20 17:04 root -> ../dm-0
lrwxrwxrwx 1 root root 8 Aug 20 17:04 vm06.docker-disk -> ../dm-10
# lvs
  LV                              VG  Attr       LSize    Pool Origin                 Data%  Meta%  Move Log Cpy%Sync Convert
  backup                          vg0 -wi-ao----    2,01t                                                                    
  root                            vg0 -wi-ao----   10,00g                                                                    
  vm04.matrix-disk                vg0 owi-i-s---  130,00g                         
  vm06.docker-disk                vg0 owi-a-s---  610,00g                                                                    

以下を使用すると、lvdisplay足りないボリュームvm04-matrixが引き続き含まれます。

# lvdisplay|grep Path|grep -v swap
  LV Path                /dev/vg0/root
  LV Path                /dev/vg0/backup
  LV Path                /dev/vg0/vm06.docker-disk
  LV Path                /dev/vg0/vm04.matrix-disk
lvdisplay|awk  '/LV Name/{n=$3} /Block device/{d=$3; sub(".*:","dm-",d); print d,n;}'

マトリックスディスクが存在することを示します。/dev/dm-25


# cat /etc/lvm/backup/vg0

...

vg0 {
    id = "Cfe7Ii-rZBl-mEnH-tk5Z-q9WW-UyTk-3WstVn"
    seqno = 29269
    format = "lvm2"         # informational
    status = ["RESIZEABLE", "READ", "WRITE"]
    flags = []
    extent_size = 8192      # 4 Megabytes
    max_lv = 0
    max_pv = 0
    metadata_copies = 0

    physical_volumes {

        pv0 {
            id = "KlmZUe-3FiK-VbBZ-R962-219A-GGAU-I3a5Nl"
            device = "/dev/md1" # Hint only

            status = ["ALLOCATABLE"]
            flags = []
            dev_size = 15626736256  # 7,27677 Terabytes
            pe_start = 2048
            pe_count = 1907560  # 7,27676 Terabytes
        }
    }

    logical_volumes {

        ...

        vm06.docker-disk {
            id = "y3CSuy-z4gU-72Bd-678E-sYTi-Lkmi-dwAkgT"
            status = ["READ", "WRITE", "VISIBLE"]
            flags = []
            creation_time = 1584654364  # 2020-03-19 22:46:04 +0100
            creation_host = "dom0-eclabs"
            segment_count = 3

            segment1 {
                start_extent = 0
                extent_count = 97280    # 380 Gigabytes

                type = "striped"
                stripe_count = 1    # linear

                stripes = [
                    "pv0", 263936
                ]
            }
            segment2 {
                start_extent = 97280
                extent_count = 7680 # 30 Gigabytes

                type = "striped"
                stripe_count = 1    # linear

                stripes = [
                    "pv0", 422912
                ]
            }
            segment3 {
                start_extent = 104960
                extent_count = 51200    # 200 Gigabytes

                type = "striped"
                stripe_count = 1    # linear

                stripes = [
                    "pv0", 1050889
                ]
            }
        }

        ...
        
        vm04.matrix-disk {
            id = "Tak3Zq-3dUU-SAJl-Hd5h-weTM-cHMR-qgWXeI"
            status = ["READ", "WRITE", "VISIBLE"]
            flags = []
            creation_time = 1584774051  # 2020-03-21 08:00:51 +0100
            creation_host = "dom0-eclabs"
            segment_count = 2

            segment1 {
                start_extent = 0
                extent_count = 25600    # 100 Gigabytes

                type = "striped"
                stripe_count = 1    # linear

                stripes = [
                    "pv0", 531968
                ]
            }
            segment2 {
                start_extent = 25600
                extent_count = 7680 # 30 Gigabytes

                type = "striped"
                stripe_count = 1    # linear

                stripes = [
                    "pv0", 1002249
                ]
            }
        }

    }
}

dmsetupはまだディスクを一覧表示します。

 # dmsetup info|grep matrix 
Name:              vg0-vm04.matrix--disk

しかし、/dev/dm-Xに接続されていないようです。

# for i in /dev/dm-*; do echo $i; dmsetup info $i; done|grep matrix 

(これは何も表示しません)。

pvcreate –restorefile lvm_backup_datei –uuid <uuid> <partition>説明したように、リカバリモードで実行しました。ここ再起動しましたが、まだ同じ問題です。

私はそれを知っていましたリカバリシステムにはすべてのlvmパーティションがあります。withlsblkと under /dev/mapper/...(回復システムはカーネル 6.4.7 を使用する)。ただし、システムを再起動した後、次のいくつかのことが表示されます。

├─sdb2                                          8:18   0   7,3T  0 part  
│ └─md1                                         9:1    0   7,3T  0 raid1 
│   ├─vg0-root                                253:0    0    10G  0 lvm   /
│   ├─vg0-swap                                253:1    0     4G  0 lvm   [SWAP]
│   ├─vg0-backup                              253:2    0     2T  0 lvm   /backup   
│   ├─vg0-vm06.docker--swap                   253:8    0     8G  0 lvm   
│   ├─vg0-vm06.docker--disk-real              253:9    0   610G  0 lvm   
│   │ ├─vg0-vm06.docker--disk                 253:10   0   610G  0 lvm   
│   │ └─vg0-snap--tmp--vm06.docker--disk      253:12   0   610G  0 lvm   
│   ├─vg0-snap--tmp--vm06.docker--disk-cow    253:11   0    16G  0 lvm   
│   │ └─vg0-snap--tmp--vm06.docker--disk      253:12   0   610G  0 lvm   

修正する:

リカバリモードでは、欠落しているボリュームをバックアップパーティションにマウントし、必要なデータをすべてバックアップして新しいボリュームを作成し、再マウントしてバックアップしたデータベースに入れることができました。

答え1

手動で電話する場合

lvchange -a y /dev/vg0

これにより、すべてのボリュームが復元されます。

また、カーネルが更新され、/etc/xen/ /boot/vmlinuz-6.1.0-11-amd64x.conf ファイルで更新される必要があることにも注意してください。

仮想マシン内のネットワークデバイスが以前と変更され、eth0enX0仮想マシンのネットワーク設定で調整する必要があるかどうか

関連情報