क्यों एक nfs सर्वर आरडब्ल्यू के रूप में मुहिम शुरू की है जो केवल फाइल सिस्टम त्रुटियों को पढ़ता है


18

मैं एक Ubuntu सर्वर 64 बिट पर काम कर रहा हूँ। मैंने rw के रूप में एक nfs आरोहित किया है, लेकिन जब भी मैं प्रश्न में आरोहण पर कुछ भी संपादित करने की कोशिश करता हूं, तो मुझे केवल पढ़ने के लिए फ़ाइलें मिल जाती हैं।

मेरा etc/fstabपढ़ता है:

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
/dev/mapper/product-root /               ext4    errors=remount-ro 0       1
UUID=1cae6948-ca9d-4f0b-aec6-9e7a60bbbad8 /boot           ext2    defaults        0       2
/dev/mapper/product-swap_1 none            swap    sw              0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0
vnxnfs1.company.com:/NFS2         /mnt/nfs2                        nfs     defaults       0       0

mount रिटर्न:

/dev/mapper/product-root on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/sda1 on /boot type ext2 (rw)
rpc_pipefs on /run/rpc_pipefs type rpc_pipefs (rw)
vnxnfs1.company.com:/NFS2 on /mnt/nfs2 type nfs (rw)

cat /proc/mounts रिटर्न:

rootfs / rootfs rw 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
udev /dev devtmpfs rw,relatime,size=16465812k,nr_inodes=4116453,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /run tmpfs rw,nosuid,relatime,size=6590172k,mode=755 0 0
/dev/mapper/product-root / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
none /sys/fs/fuse/connections fusectl rw,relatime 0 0
none /sys/kernel/debug debugfs rw,relatime 0 0
none /sys/kernel/security securityfs rw,relatime 0 0
none /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0
none /run/shm tmpfs rw,nosuid,nodev,relatime 0 0
/dev/sda1 /boot ext2 rw,relatime,errors=continue 0 0
rpc_pipefs /run/rpc_pipefs rpc_pipefs rw,relatime 0 0
vnxnfs1.company.com:/NFS2 /mnt/nfs2 nfs rw,relatime,vers=3,rsize=32768,wsize=32768,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=172.x.y.z,mountvers=3,mountport=1234,mountproto=udp,local_lock=none,addr=172.x.y.z 0 0

Mnt पर फ़ाइलें बस ठीक पढ़ा, लेकिन जब भी मैं कुछ भी बदलने की कोशिश करता हूं तो मुझे एक त्रुटि मिलती है:

touch: cannot touch `/mnt/nfs2/path/to/test_file.txt': Read-only file system

मैं अन्य सर्वरों से प्रश्न में nfs से जुड़ सकता हूं और ठीक पढ़ सकता हूं और लिख सकता हूं। इस सर्वर पर एकमात्र समस्या है। मैंने mount -o remount,rw vnxnfs1.company.com:/NFS2 /mnt/nfs2संबंधित सवालों के जवाब के रूप में कोशिश की है, लेकिन कोई फायदा नहीं हुआ।

डेटा डंप के लिए क्षमा करें, मैंने अभी कुछ भी शामिल करने की कोशिश की है जिससे सुराग मिल सके।

संपादित करें:

अधिक जानकारी

मैं rootपरेशानी से मशीन पर उपयोगकर्ता से परीक्षण कर रहा हूं , और एनएफएस के rootसाथ-साथ userअन्य (nfs-write-is-working) सर्वर से काम करता है।

कार्यशील सर्वर से: ls -la /mnt/nfs2/

total 76
drwxrwxrwx 12 root root   1024 2013-04-18 10:14 .
drwxr-xr-x 24 root root   4096 2013-04-17 10:42 ..
drwxrwxr-x  2 user user   80 2013-04-18 10:14 archives
drwxrwxrwx  2 user user   1024 2012-08-15 10:13 assignee_dealiasing_temp_folder
drwxrwxr-x  9 user user   1024 2013-03-11 13:50 data_runs
drwxrwxrwx  2 user user   2048 2013-04-19 14:54 db_transfer_dumps
drwxrwxrwx  2 root daemon 1024 2013-08-22 01:00 .etc
drwxrwxrwx  2 root root   8192 2012-08-16 14:47 lost+found
drwxr-xr-x 13 user user   1024 2013-08-16 13:37 projects
drwxr-xr-x 35 user user   2048 2013-05-10 16:34 reports
drwxrwxrwx  6 root root   1024 2013-04-17 16:47 saved_logs

vnxnfs1 से server_export server_2 -list

server_2 :
export "/NFS3" rw=172.16.0.0/24 root=172.16.0.0/24
export "/NFS2" rw=172.16.0.0/24:172.16.9.0/24 root=172.16.0.0/24:172.16.9.0/24
export "/NFS1" rw=172.16.0.0/24:172.16.9.0/24 root=172.16.0.0/24:172.16.9.0/24
export "/ISO" rw=172.16.9.16:172.16.9.18:172.16.9.20 root=172.16.9.16:172.16.9.18:172.16.9.20
export "/NFS0" rw=172.16.0.0/24 root=172.16.0.0/24
export "/" anon=0 access=128.221.252.100:128.221.253.100:128.221.252.101:128.221.253.101

क्या आपके पास vnxnfs1 सर्वर से / etc / निर्यात हैं? क्या आप जिस उपयोगकर्ता के साथ परीक्षण कर रहे हैं, उसके पास वहां लिखने के अधिकार (रूट स्क्वैश / यूआईडी अज्ञात) हैं? यदि आप NFS2 निर्देशिका के काम करने वाले सर्वर पर "ls -la" कर सकते हैं तो यह मदद कर सकता है
TheFiddlerWins

जवाबों:


9

'केवल पढ़ने के लिए फ़ाइल सिस्टम' त्रुटि इंगित करती है कि फ़ाइल सिस्टम केवल पढ़ने के लिए निर्यात किया जाता है। आरडब्ल्यू माउंट विकल्प क्लाइंट को बताता है कि 'WRITE' को सर्वर पर भेजने की अनुमति है। नियमित यूनिक्स प्रणालियों पर, चेक / आदि / निर्यात फ़ाइल:

/NFS2 172.x.y.z(rw)

उपकरणों पर, पढ़ने-लिखने के रूप में निर्यात करने के लिए दस्तावेज की जाँच करें।


1
/ etc / निर्यात मेरे nfs सर्वर पर खाली है, मुझे लगता है कि यह इसलिए है क्योंकि हमारे पुराने व्यवस्थापक ने इसे ऐसे सेट किया है कि server_exportउपयोगिता इस कार्यक्षमता को संभाल रही है। और आप सही थे कि server_export server -lसूची में rw के रूप में निर्दिष्ट आईपी ब्लॉक में शामिल सर्वर को प्रश्न में शामिल नहीं किया गया था । धन्यवाद!
stupac8908

7

माता-पिता फ़ोल्डर (आरओ) का निर्यात एक बच्चे के निर्यात (आरडब्ल्यू) को ओवरराइड करेगा।

उदाहरण निर्यात:

/NFS_ROOT *(ro)
/NFS_ROOT/SHARE1 *(rw)

SHARE1 केवल-पढ़ने के लिए होगा क्योंकि NFS_ROOT केवल-पढ़ने के लिए है। आपके पास एक निर्यातित रूट निर्देशिका पर अड़चनें हैं जो समस्या का कारण हो सकती हैं।


6

जैसा कि ब्रायन ने कहा, एक पैरेंट एक्सपोर्ट एक चाइल्ड एक्सपोर्ट को ओवरराइड कर सकता है। लेकिन आप इसे अपने निर्यात में प्राथमिकताओं को जोड़कर हल कर सकते हैं। इसलिए, ब्रायन के उदाहरण का उपयोग करके, यह समस्या को हल करेगा:

/NFS_ROOT *(ro,fsid=2)
/NFS_ROOT/SHARE1 *(rw,fsid=1)

2

यदि क्लाइंट पर आपका माउंटपॉइंट है /var/share, तो सुनिश्चित करें कि यह 777 के सेट अधिकारों के साथ बनाया गया है:

chmod 777 /var/share

अन्यथा आपके पास अजीब अजीब त्रुटियां हो सकती हैं जहां आप केवल रूट के साथ लिख सकते हैं, लेकिन अन्य सभी उपयोगकर्ता के साथ आरओ है, माउंटेड फ़ाइलों के अधिकार जैसे ---------या अन्य अजीब व्यवहार।


1
मेरे मामले में शेयर का मूल फ़ोल्डर 777 नहीं था - धन्यवाद।
--वीएवी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.