Ngắt kết nối hệ thống tập tin bận rộn


0

Tôi đang cố gắng ngắt kết nối một hệ thống tập tin sao lưu mà tôi không cần nữa. Khi tôi chạy lệnh "umount", hệ thống sẽ báo:

umount: /backup: target is busy

Và các lệnh sau không hoạt động và cùng lý do (bận) trả về cho tôi:

fuser -cuk /backup
fuser -k -9 /backup
umount -f /backup
mount -o remount /backup; umount /backup

lsof |grep /backup | grep -v "backup.log"

Lệnh trả về không có gì. (grep -v là vì bỏ qua các tệp backup.log. Nếu tôi sai tôi có thể thay đổi.)

Tại sao tôi không thể vượt qua hệ thống tập tin này và tôi phải làm thế nào?


Chỉnh sửa:

Các lệnh mà tôi đã thử và đầu ra của chúng:

myserver:~ # fuser -cuk /backup
myserver:~ # fuser -k -9 /backup
myserver:~ # umount -f /backup
umount: /backup: target is busy
    (In some cases useful info about processes that
     use the device is found by lsof(8) or fuser(1).)
myserver:~ # mount -o remount /backup; umount /backup
umount: /backup: target is busy
    (In some cases useful info about processes that
     use the device is found by lsof(8) or fuser(1).)
myserver:~ #

Phiên bản của hệ điều hành:

myserver:~ # cat /etc/os-release
NAME="SLES_SAP"
VERSION="12-SP2"
VERSION_ID="12.2"
PRETTY_NAME="SUSE Linux Enterprise Server for SAP Applications 12 SP2"
ID="sles_sap"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:suse:sles_sap:12:sp2"

Và khi tôi kiểm tra I / O bằng lệnh "iuler", tôi thấy đĩa vật lý (/ dev / sdx) được gắn vào hệ thống tập tin này, có đọc nhưng không có ghi.

Danh sách gắn kết:

myserver:~ # mount | grep backup
/dev/mapper/vgbackup-lvbackup on /backup type xfs (rw,relatime,attr2,inode64,noquota)

Vâng. không ai trong số họ làm việc Làm thế nào tôi có thể kiểm tra các quy trình được đánh giá lại? Nếu có một trong số chúng, làm thế nào tôi không thể thấy quy trình này hoặc mở tệp? Nó rất kì lạ.
Gefolge

Một điều không hiển thị trong lsof là điểm gắn kết. Vì vậy, nếu bạn đã gắn một cái gì đó vào một thư mục trong hệ thống tệp đó hoặc gắn một tệp từ FS đó ở một nơi khác ( mount -o loop ... ) họ sẽ không hiển thị trong lsof nhưng ngăn chặn.
xenoid

Tôi không thể thấy bất cứ thứ gì được gắn vào / sao lưu hoặc dưới / sao lưu tại lệnh fstab hay df -h.
Gefolge

định dạng câu hỏi của tôi đã bị hỏng :) nó không hiển thị các khối mã. Hôm nay tôi rất may mắn (ok đó là lỗi của tôi. Tôi đã sửa nó.)
Gefolge

Câu trả lời:


1

Có câu hỏi này trên Linux & amp; Unix SE: umount: thiết bị đang bận. Tại sao?

Vài câu trả lời:

  1. Có vẻ như nguyên nhân cho vấn đề của tôi là nfs-kernel-server đã xuất thư mục. Các nfs-kernel-server có thể đi đằng sau các tệp đang mở bình thường và do đó không được liệt kê bởi lsoffuser.

    Khi tôi dừng lại nfs-kernel-server Tôi có thể umount cac thu mục.

  2. nguyên nhân cho sự biểu hiện của tôi về vấn đề này chỉ là một mountback loopback cũ. Tôi đã kiểm tra đầu ra của fuser -vm <mountpoint>/lsof +D <mountpoint>, mountcat /proc/mounts, kiểm tra xem một số máy chủ nfs-kernel-cũ đã chạy chưa, đã tắt hạn ngạch, đã thử (nhưng không thành công) umount -f <mountpoint> và tất cả trừ bỏ bản thân mình để từ bỏ thời gian hoạt động 924 ngày trước khi cuối cùng kiểm tra đầu ra của losetup và tìm hai vòng lặp cũ được cấu hình nhưng không được gắn kết

  3. Đối với tôi, quá trình vi phạm là một daemon chạy trong một cái chroot. Bởi vì nó đã ở trong một chroot, lsoffuser sẽ không tìm thấy nó.

    Nếu bạn nghi ngờ bạn có thứ gì đó còn sót lại trong một chiếc chroot, sudo ls -l /proc/*/root | grep chroot sẽ tìm ra thủ phạm (thay thế "chroot" bằng đường dẫn đến chroot).

  4. Nút vô danh

    [Càng]

    Đây là loại pokemon khó nắm bắt nhất và xuất hiện trong lsof 'S TYPE cột như a_inode (không có giấy tờ trong lsof trang nam).

    Họ sẽ không xuất hiện trong lsof +f -- /dev/<device>, vì vậy bạn sẽ cần:

    lsof | grep a_inode
    
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.