Ubuntu - ไม่มีพื้นที่เหลือบนอุปกรณ์ (NTFS)


11

ฉันมีเซิร์ฟเวอร์ที่เก็บข้อมูลจำนวนมากฉันเก็บไดเรกทอรีที่ซ้อนกันไว้หลายล้านไฟล์ไว้ในนั้น

ในขณะที่พยายามย้ายหนึ่งไดเรกทอรีใหญ่ (~ 700GB) จากดิสก์หนึ่งไปยังอีกฉันได้รับข้อผิดพลาด:

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

"No space left on device"

นอกจากนี้การพยายามสร้างไฟล์ txt ขนาดเล็กบนดิสก์ไม่ทำงาน:

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

ฉันตรวจสอบตัวเลือกมากมายออนไลน์แล้วไม่ทำงานเลย

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

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

การอ่านออนไลน์ผู้คนกล่าวว่าปัญหาที่คล้ายกันเกิดขึ้นเนื่องจากการเข้าถึงไฟล์จำนวนมากและการตั้งค่า fs.inotify.max_user_watches เป็นจำนวนมากอาจช่วยได้ฉันเพิ่มจาก 8192 เป็น 1000000 แต่ก็ไม่ได้ช่วยอะไร


คุณเคยลองlsof +L1ไหม man lsof: สเปคของแบบฟอร์ม + L1 จะเลือกไฟล์เปิดที่ไม่ได้เชื่อมโยง
AB

ไม่มีเหตุผลที่mvจะใช้inotifyกลไกนี้ ดูที่นี่ : กระบวนการบางอย่างอาจยังใช้ไฟล์ที่ไม่ได้ลิงก์จากระบบไฟล์ปลายทาง
John WH Smith

ไฟล์ที่ถูกลบจะยังคงปรากฏขึ้นในการใช้งานที่ได้รับจากdf...
สตีเฟ่น Kitt

@StephenKitt หมายเลขไฟล์ที่ไม่ได้เชื่อมโยงซึ่งถูกเก็บไว้โดยระบบย่อยไฟล์เนื่องจากการอ้างอิงไอโหนดจะ สิ่งที่ไม่ได้ใช้และไม่ได้เชื่อมโยงอย่างสมบูรณ์("ลบ") จะไม่แสดงขึ้นมา ดูที่นี่
John WH Smith

1
ตรวจสอบntfsinfo -m /dev/DEVเบาะแส มันเป็นส่วนหนึ่งของ ntfs-3g นอกจากนี้โปรดทราบว่าสามารถมีได้สูงสุด 2 ^ 32 ไฟล์ในไดรฟ์ข้อมูล NTFS เดียว ฉันจะไม่ไว้วางใจเครื่องมือ linux / unix ของพื้นเมืองเพื่อรายงานการนับจำนวน NTFS inodes อย่างแม่นยำ
mikky

คำตอบ:


1

รันสิ่งต่อไปนี้:

lsof -s | sort -nrk 7 | head

คุณจะเห็นผลลัพธ์เช่น:

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

บันทึก; ด้านบนเป็นเพียงตัวอย่างที่คุณจะต้องใช้วิจารณญาณในการค้นหาการใช้พื้นที่

เกี่ยวกับผลลัพธ์:

  • คอลัมน์ 7 คือขนาดของพื้นที่ที่ใช้งาน
  • คอลัมน์ 4 เป็นตัวอธิบายไฟล์

คุณสามารถลบเนื้อหาที่ file-descriptor เพื่อคืนพื้นที่นั้น:

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

เห็นได้ชัดว่าสิ่งนี้จะทำลายข้อมูลทั้งหมดในไฟล์ descriptor นั้น


หากปัญหาเกิดขึ้นอีกฉันจะลองดู
PeterN

0

คุณสามารถลองทาร์เพื่อคัดลอกข้อมูลทั้งหมดจากนั้นนำมันออกภายหลัง:

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

สิ่งนี้จะรักษาความเป็นเจ้าของสิทธิ์และลิงก์ทั้งหมด


ไม่ได้คัดลอกทำงาน .. ไม่เพียงแค่นั้นการสร้างไฟล์เปล่าอย่างง่ายกลับไม่มีข้อยกเว้นพื้นที่
PeterN

0

ฉันจะใช้rsync -avrz storage3 storage4แล้วลบไฟล์ในภายหลัง แต่ฉันมีคำถามอีกข้อว่าทำไมคุณถึงใช้ร่วมกันโดยใช้ระบบไฟล์ NTFS หากคุณใช้ Linux (Ubuntu) จากนั้นฉันจะใช้ ext4 หรือ ReiserFS, ButterFS หากการแชร์เหล่านั้นอยู่บนกล่อง Windows โปรดลองและย้ายไฟล์เหล่านั้นจาก Windows ไปยัง Windows โดยใช้ robocopy ซึ่งเป็นเรื่องที่ยอดเยี่ยม Robocopy นั้นทำงานเหมือน rsync เป็นส่วนใหญ่

man page สำหรับ rsync: http://linux.die.net/man/1/rsync

หน้าความช่วยเหลือสำหรับ robocopy: https://technet.microsoft.com/en-us/library/cc733145.aspx

หน้าสนับสนุนสำหรับไดรเวอร์ 3g-ntfs สำหรับ Linux: www.tuxera.com/community/open-source-ntfs-3g/

คำถามที่พบบ่อยสำหรับ 3g-ntfs: www.tuxera.com/community/ntfs-3g-faq/

ฉันสงสัยว่าควรแก้ไขบางอย่างภายในไดรเวอร์ระบบไฟล์ NTFS ที่คุณใช้ในการติดตั้ง Ubuntu ซึ่งคุณใช้งานการกระจาย NTFS อย่างไรคุณติดตั้งดิสก์ได้อย่างไรพวกเขาอยู่ในเครื่องกับกล่องอูบุนตูที่คุณนั่งหรือติดตั้งอยู่ ใช้ iSCSI จาก SAN หรือไม่

มีมากกว่าการแก้ไขปัญหานี้เพียงแค่ "ฉันไม่สามารถย้ายไฟล์ของฉันพวกเขาอยู่ใน NTFS และฉันใช้ Ubuntu เพื่อย้ายพวกเขา"


ดังที่ได้กล่าวมาแล้วการคัดลอกไม่ทำงานฉันลองใช้คำสั่ง rsync ทุกประเภท แต่แม้กระทั่งการสร้างไฟล์ว่างบน storage4 ก็ส่งคืนข้อยกเว้น \ n เหตุผลในการใช้ NTFS ก็เพราะเรามีเซิร์ฟเวอร์อื่น ๆ ที่ใช้ windows และเราต้องการอนุญาตให้ถ่ายโอนดิสก์จากเซิร์ฟเวอร์หนึ่งไปยังอีกเซิร์ฟเวอร์หนึ่งได้ง่าย เมื่อมองย้อนกลับไปฉันจะไม่ใช้ NTFS เพราะปัญหาทั้งหมดที่เกิดขึ้นกับมัน Ubuntu เป็นสิ่งที่ไม่เสถียรเมื่อใช้ NTFS \ n ดิสก์เชื่อมต่อผ่านสายเคเบิล SATA โดยตรงกับเมนบอร์ดบนคอมพิวเตอร์ไม่มี SAN หรืออะไรก็ได้ มันเป็นระบบเชื่อมต่อโดยตรงบนระบบ linux
PeterN

ฉันจะแนะนำคุณเกี่ยวกับสองสิ่งเมื่อใช้เทคโนโลยี MS ล้วนบริสุทธิ์ MS ให้ใช้ Microsoft Windows Fileserver หากคุณต้องการมี NTFS มิฉะนั้นจะไปกับ ext4 หรือระบบไฟล์ Linux อื่น ๆ และแบ่งปันดิสก์กับ Smb
OMG-1

ช่วยตัวเองด้วยปัญหาบางอย่างและอย่าพยายามรวมหน้าต่างและลินุกซ์เข้าด้วยกัน ไม่มีความช่วยเหลือใดที่จะช่วยคุณได้ในระยะยาวในที่สุดสิ่งนี้จะจบลงด้วยน้ำตา ดูเหมือนว่าจะมีปัญหากับ inode หรือจัดการกับไฟล์ แต่เมื่อคุณใส่ NTFS ลงในมิกซ์ ... time bomb หากสภาพแวดล้อมของคุณต้องการการโต้ตอบของ linux และ NTFS ให้วาง NTFS ไว้บน windows server และทำการโต้ตอบด้วยวิธีนั้น ไม่พยายามรวมเข้ากับระบบเดียวกัน
Baazigar
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.