Açık mantıksal birim kaldırılamıyor


20

Mantıksal bir birimi kaldırmaya çalıştığımda mesajı alıyorum

#lvremove /dev/my-volumes/volume-1 
Can't remove open logical volume "volume-1"

#lvchange -an -v /dev/my-volumes/volume-1 
Using logical volume(s) on command line
/dev/dm-1: read failed after 0 of 4096 at 0: Input/output error
Deactivating logical volume "volume-1"
Found volume group "my-volumes"
LV my-volumes/volume-1 in use: not deactivating

#lvremove -vf /dev/my-volumes/volume-1 
Using logical volume(s) on command line
/dev/dm-1: read failed after 0 of 4096 at 0: Input/output error
Can't remove open logical volume "volume-1"

#lvs
/dev/dm-1: read failed after 0 of 4096 at 0: Input/output error
LV              VG           Attr   LSize   Origin Snap%  Move Log Copy%  Convert
volume-1        my-volumes   -wi-ao  50.00g  

Bu birimin kaldırılmasını nasıl zorlayabilirim?

Teşekkürler Everett

Yanıtlar:


13

Mantıksal birim ne içerir? Bir dosya sistemi mi (yanlışlıkla bölüm yazdım)? Monte edilebilir mi? Bu durumda:

umount /dev/my-volumes/volume-1

Aktif anlık görüntüleri var mı?

Düzenleme: deneyin lvchange -an -v /dev/my-volumes/volume-1ve lvremove -vf /dev/my-volumes/volume-1.

Edit 2: Lütfen 'lvs' yazınız.

Düzenleme 3: Bunu başka sorunlu birimlerle deneyin. En temiz seçenek değil, ancak bu siteye göre işe yarayabilir ve yine de yeniden başlatmaktan daha az sorunludur.

dmsetup remove my--volumes-volume--number
lvremove /dev/my-volumes/volume-number

Hiçbir şey içermiyor. Bu bir bölüm değil. Monte edilmedi (artık). Aktif anlık görüntü yok.
Everett Toews

Ne için kullandın? Neyin yanlış olabileceğine dair bir ipucu verebilir.
Eduardo Ivanec

İstediğiniz bilgileri soruya ekledi. OpenStack Compute (aka Nova) için bir birim olarak kullanılıyordu. Aslında nükleer enerjiye gidip makineyi yeniden başlatarak ve sonra bir taş kaldırarak kaldırmayı başardım. Olmak istediğimden çok daha sert. Hala yeniden başlamanıza gerek kalmadan kurtulmak istediğiniz başka bazı hacimler var, böylece verebileceğiniz herhangi bir yardım takdir edilir.
Everett Toews

Başka sorunlu ciltlerle denemeniz için bir şeyler ekledim.
Eduardo Ivanec

Denedim. Şanssız. Ayrıca wiki.davidjb.com/… (bu nedenle "/ dev / dm-1: okuma başarısız ..." bazı çıkış) her şeyi denedim ama bu da işe yaramadı.
Everett,

9

Mantıksal bir birimi kaldıramaz veya kaldıramazsanız, LV'yi tutan hiçbir işlem olmadığını doğrulayın.

Kaldırmaya çalıştığınız mantıksal birim için büyük / küçük sayıları bulun, örneğin: vol0

# dmsetup info -c | grep vol0

Bir birimin “açık” olup olmadığını gösteren 5. sütunu ve sırasıyla ana ve ikincil kimlikler olan 2. ve 3. sütunları not edin.

Yukarıda keşfedilen büyük ve küçük kimlikleri arayarak bu birime eklenen tüm işlemleri bulun:

# lsof | grep "major,minor"

Sökme ve çıkarma işlemlerine devam etmek için birime erişmeye devam eden işlemleri kapatın veya öldürün.

sonra kaldırmayı dene


Benim durumumda yardım yok. lff, kaynaştırıcı herhangi bir kullanım göstermez. dmsetup, cihazın meşgul olduğunu söylüyor. cihaz takılı değil (herhangi bir zamanda monte edilebilir). sadece bir donanımın yeniden başlatılması yardımcı olur: /
John

5

Muhtemelen iet veya tgt çalışıyor (ki bu iscsi_helperdeğerin /etc/nova/nova.conf dosyasında ne olduğuna bağlı , varsayılan olarak iet) ve hizmetin açık bir dosya tanıtıcısı var. Hangisini böyle bir şey yaparak kontrol edebilirsiniz (benim durumumda tgt)

# fuser /dev/nova-volumes/volume-00000001
/dev/dm-5:           19155

# lsof | grep /dev/dm-5
tgtd      19155            root   12u      BLK              252,5         0t0    2531554 /dev/dm-5

Eğer öyleyse, aşağıdakileri yaparak hizmeti durdurun:

service iscsitarget stop

Eğer tgt ise, aşağıdakileri yaparak hizmeti durdurun:

service tgt stop

Daha sonra birimlerinizi silebilirsiniz.


Bu OpenStack ile benim için sorunu çözdü
juanluisrp

5

Benzer bir durumla karşılaştım, ancak LV'nin kaldırılması engellendi, çünkü mount -o bağlama kullanıyordum.

Aşağıdaki makale büyük / küçük LV sayıları ile lsof kullanarak süreç tutma LV açık, gösterdi benim durumumda çok yardımcı oldu.

Sadece cat / proc / mountlardan daha | grep LV_name beni sonuca götürdü, neden lvremove veya dmsetup kaldırılmamış LV'den kurtulmayı reddetti.

http://kb.eclipseinc.com/kb/why-cant-i-remove-a-linux-logical-volume/


2

Dosya sistemlerini kullanan LXC kapsayıcılarını config: lxc.mount.entry ile kapatın.


1

Kaldıramıyorsanız lvm, lütfen şu adımları izleyin:

  1. Bölümü ayırın:

    # umount / dev / sda8

    (örneğin, bölümü taktım /dev/sda8)

  2. şu şekilde kaldırmaya çalışın lvm:

    # lvremove / dev / vgname / lvname

" Linux'ta açık mantıksal birimi kaldıramıyorum " gibi bir hata alırsanız , aşağıdaki komutları kullanarak LVM'yi devre dışı bırakmayı deneyin ve ardından kaldırın:

 # lvchange -an  /dev/vgname/lvname

 # lvremove /dev/vgname/lvname

Herhangi bir sorunla karşılaşırsanız bize bildirin.


0

Bu sorunu bir iSCSI cihazında (çok yollu) 3 PV'den gelen bir LV ile yaşadım.

Hiçbir çözüm işe yaramadı ama basit bir yeniden başlatma ! ( fstab içinde yorum yapın , bu yüzden tekrar bağlanmaz)

Belki bu birisine yardım eder.


0

bu da RHEL nfslock servisi tarafından kilitlenmiş olabilir, sadece bu hizmeti durdurun ve gitmek için iyi.


0

Benzer bir sorun yaşadım. Kaldırmaya çalıştığım lv, bir birim grubu tutan bir VM blok cihazıydı. Bu birim grubu lvm.conf dosyasında filtrelendi, ancak daha önce bazı geliştirici eşleyici öğeleri oluşturuldu.

Bir cihaz tarafından tutma Şekil dışarı için olan ise, kendi küçük sayıda göz (253, ?? ) ll /dev/<vg>/<lv>işaret etmelidir../dm-??

Ardından ls -la /sys/dev/block/253:??/holders, -> ../../dm-xxcihazınızda (pv olarak) vg (ex ) geçişinin bağlantılarını verecektir

Onları ile kaldırın dmsetup remove /dev/dm-xx(bu dm'nin kullanılmadığından emin olun) Sonra / dev // 'i kaldırmalısınız ki bu artık bir yerde "pv" değil


Im Benim durumum bu dmsetup remove /dev/dm-36ama hatayı alıyorum device-mapper: remove ioctl on vg0-snap--tmp--vm06.docker--disk failed: – Device or resource busy – Command failedbkz: serverfault.com/questions/926681/…
rubo77

0

LV'nizin DM cihazıyla bağlantısını kaldırabilirsiniz:

kaynaştırıcı -kuc / dev / benim-örnek-hacimler / hacim-örnek-1

/ dev / dm-21: 2400ce (kök) 2739ce (kök) 4793ce (kök)

ls -l / dev / benim-örnek-hacimler / hacim-örnek-1

lrwxrwxrwx 1 kök kökü 8 Ağu 15 02:53 / dev / benim-örnek-hacimler / hacim-örnek-1 -> ../dm-21

/ dev / örneklem-birimlerim / birim-örnek-1

lvremove / dev / örneklem hacimleri / birim örneği 1


Merhaba ve hoş geldiniz. Sonra işe lvremoveyarayacağını sanmıyorum , unlinkbu kısmı açıklığa kavuşturabilir misiniz? Sadece cevabınızı düzenleyin.
kubanczyk

İşe yaramalı. Test ettim. Sadece kendi softlink'inin bağlantısını kaldıracaktır. LV hala mevcut olmalıdır ve lvremove ile kaldırabilirsiniz.
dayzero

0

Benim durumumda cAdvisor'ı bir kapta çalıştırıyordum ve bu, başlatıldığında monte edilen tüm blok cihazlarının çıkarılmasını engelliyor gibi görünüyor. Düzeltmem:

  1. LVM birimini çıkarın
  2. CAdvisor kapsayıcısını ( docker restart $CONTAINER_ID) yeniden başlatın
  3. Tekrar kaldırmayı deneyin

-1

Seninkiyle aynı problemim var. Aşağıdaki komutu denedim ve çözdüm: swapoff -a

Kaldır ...


bu da körü körüne komutunuzu denemeye yönlendirebilir. LV takas için kullanılıyorsa, önce
lv'yi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.