Ubuntu - Không còn chỗ trống trên thiết bị (NTFS)


11

Tôi có một máy chủ lưu trữ rất nhiều dữ liệu, tôi giữ nhiều thư mục lồng nhau với hàng triệu tệp trong đó.

Trong khi cố gắng di chuyển một thư mục lớn (~ 700GB) từ đĩa này sang đĩa khác, tôi gặp lỗi:

mv /media/storage3/dir /media/storage4/

"No space left on device"

Ngoài ra, cố gắng tạo một tệp txt nhỏ trên đĩa không hoạt động:

Error opening file '/media/storage4/Untitled Document': No space left on device

Tôi đã kiểm tra nhiều lựa chọn trực tuyến, không có lựa chọn nào làm việc.

đầu ra df -h:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sdg7        77G  9.2G   64G  13% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev             32G  4.0K   32G   1% /dev
tmpfs           6.3G  1.4M  6.3G   1% /run
none            5.0M     0  5.0M   0% /run/lock
none             32G   76K   32G   1% /run/shm
none            100M   48K  100M   1% /run/user
/dev/sdg6        19G  6.7G   11G  39% /home
/dev/sdb1       440G  278G  140G  67% /var
/dev/sda1       2.8T  2.0T  764G  73% /media/storage1
/dev/sdh1       2.8T  1.6T  1.3T  56% /media/storage2
/dev/sdi1       2.8T  1.7T  1.2T  60% /media/storage3
/dev/sdf1       2.8T  876G  1.9T  32% /media/storage4

đầu ra df -i:

Filesystem         Inodes    IUsed      IFree IUse% Mounted on
/dev/sdg7         5079040   514215    4564825   11% /
none              8242449        2    8242447    1% /sys/fs/cgroup
udev              8239750      611    8239139    1% /dev
tmpfs             8242449      696    8241753    1% /run
none              8242449        5    8242444    1% /run/lock
none              8242449        4    8242445    1% /run/shm
none              8242449       28    8242421    1% /run/user
/dev/sdg6         1220608   218613    1001995   18% /home
/dev/sdb1        29310976 12863877   16447099   44% /var
/dev/sda1       858436804 41630853  816805951    5% /media/storage1
/dev/sdh1      1356948436 38728057 1318220379    3% /media/storage2
/dev/sdi1      1217505624 34748869 1182756755    3% /media/storage3
/dev/sdf1      2048962648 36308921 2012653727    2% /media/storage4

Đọc trực tuyến, mọi người nói rằng các vấn đề tương tự xảy ra do truy cập vào một số lượng lớn tệp và việc đặt fs.inotify.max_user_watches thành một số lượng lớn có thể giải quyết nó, tôi đã tăng nó từ 8192 lên 1000000 nhưng không giúp được gì.


Bạn đã thử lsof +L1chưa man lsof: Một đặc điểm kỹ thuật của biểu mẫu + L1 sẽ chọn các tệp đang mở đã được hủy liên kết.
AB

Không có lý do mvđể sử dụng inotifycơ chế. Hãy xem ở đây : một số quy trình có thể vẫn đang sử dụng các tệp chưa được liên kết từ hệ thống tệp đích.
John WH Smith

Các tệp đã xóa vẫn sẽ hiển thị trong cách sử dụng được cung cấp bởi df...
Stephen Kitt

@StephenKitt Không. Các tệp không được liên kết được giữ bởi hệ thống con tệp do tham chiếu inode sẽ. Những người đã hoàn toàn không sử dụng và không liên kết ("đã xóa") sẽ không hiển thị. Xem ở đây .
John WH Smith

1
Kiểm tra ntfsinfo -m /dev/DEVmanh mối. Đó là một phần của ntfs-3g. Cũng lưu ý rằng chỉ có thể có tối đa 2 ^ 32 tệp trên một ổ NTFS. Tôi sẽ không tin tưởng bất kỳ công cụ linux / unix riêng nào để báo cáo chính xác các nút in NTFS.
mikky

Câu trả lời:


1

Chạy như sau:

lsof -s | sort -nrk 7 | head

Bạn sẽ thấy đầu ra như vậy:

firefox    2997                     j   52rr     REG              252,0 10485760    5505182 /some/path
firefox    2997                     j   50rr     REG              252,0 10485760    5505182 /some/path
firefox    2997                     j    3rr     REG              252,0 10485760    5505182 /some/path
firefox    2997                     j   39rr     REG              252,0 10485760    5505182 /some/path
firefox    2997                     j   31ur     REG              252,0 10485760    5505182 /some/path

Ghi chú; trên đây chỉ là một ví dụ bạn sẽ cần sử dụng phán đoán của mình để tìm cách sử dụng không gian.

Về đầu ra:

  • Cột 7 là kích thước của không gian sử dụng.
  • Cột 4 là mô tả tập tin.

Bạn có thể xóa nội dung tại bộ mô tả tệp để lấy lại khoảng trống đó:

cat /dev/null > /proc/2997/fd/50

Rõ ràng điều này sẽ phá hủy tất cả dữ liệu trên mô tả tập tin đó.


Nếu sự cố xảy ra lần nữa, tôi sẽ thử lại
PeterN

0

Bạn có thể thử một tar để sao chép tất cả dữ liệu, sau đó xóa nó sau:

cd /media/storage3/; tar cfp - ./dir | ( cd /media/storage4; tar xfp - )

Điều này sẽ bảo vệ tất cả quyền sở hữu, quyền và liên kết


Không có bản sao nào hoạt động .. Không chỉ vậy, việc tạo một tệp trống đơn giản không trả lại khoảng trống nào
PeterN

0

Tôi đã sử dụng rsync -avrz storage3 storage4và sau đó xóa các tệp sau đó, nhưng tôi có một câu hỏi khác tại sao bạn có những chia sẻ đó bằng hệ thống tệp NTFS nếu bạn đang sử dụng Linux (Ubuntu) thì tôi đã dùng ext4 hoặc ReiserFS, ButterFS. NẾU những chia sẻ đó được đặt trên một hộp Windows, vui lòng thử và di chuyển các tệp đó từ Windows sang Windows bằng cách sử dụng bản sao, điều này rất tuyệt vời trong vấn đề này. Robocopy hoạt động chủ yếu như rsync.

trang nam cho rsync: http://linux.die.net/man/1/rsync

trang trợ giúp cho robocopy: https://technet.microsoft.com/en-us/l Library / cc733145.aspx

trang hỗ trợ cho trình điều khiển 3g-ntfs cho Linux: www.tuxera.com/community/open-source-ntfs-3g/

Câu hỏi thường gặp cho 3g-ntfs: www.tuxera.com/community/ntfs-3g-faq/

Tôi nghi ngờ có điều gì đó cần được khắc phục bên trong trình điều khiển hệ thống tệp NTFS mà bạn đang sử dụng trong cài đặt Ubuntu, bạn đang sử dụng bản phân phối NTFS nào, bạn đã gắn đĩa như thế nào, chúng có gắn cục bộ với hộp ub Ubuntu bạn đang ngồi hoặc chúng được gắn không sử dụng iSCSI từ SAN?

Có nhiều vấn đề để khắc phục sự cố này hơn, chỉ là "Tôi không thể di chuyển các tệp của mình, chúng nằm trên NTFS và tôi đang chạy ubfox để di chuyển chúng."


Như đã đề cập, không có bản sao nào hoạt động, tôi đã thử tất cả các loại lệnh rsync. Nhưng, ngay cả việc tạo một tệp trống trên Storage4 cũng trả lại một ngoại lệ. Lý do sử dụng NTFS là vì chúng tôi có các máy chủ khác chạy Windows và chúng tôi muốn cho phép dễ dàng chuyển đĩa từ máy chủ này sang máy chủ khác. Nhìn lại, tôi sẽ không sử dụng NTFS vì tất cả các vấn đề mà nó mang lại, Ubuntu rất không ổn định với ngàm NTFS. \ n Các đĩa được kết nối trực tiếp qua cáp SATA với bo mạch chủ trên máy tính, không có SAN hay bất cứ thứ gì. Đó là một gắn kết trực tiếp trên hệ thống linux.
PeterN

Tôi sẽ khuyên bạn hai điều, khi sử dụng các công nghệ MS, hãy sử dụng MS thuần túy, sử dụng Microsoft Windows Fileserver nếu bạn cần có NTFS, khác với ext4 hoặc hệ thống tệp Linux khác và chia sẻ đĩa với Smb.
OMG-1

Hãy tự cứu mình một số vấn đề và đừng bao giờ thử kết hợp windows và linux. Không có sự giúp đỡ nào sẽ giúp bạn tiết kiệm trong thời gian dài, cuối cùng điều này sẽ luôn kết thúc trong nước mắt. Có vẻ như đó là một vấn đề với inode hoặc xử lý tệp, nhưng khi bạn đặt NTFS vào ... quả bom hẹn giờ. Nếu môi trường của bạn cần sự tương tác của linux và NTFS, hãy đặt NTFS trên máy chủ windows và thực hiện tương tác theo cách đó. Không cố gắng kết hợp vào cùng một hệ thống.
Baazigar
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.