Autofs จะไม่ทำการแชร์เมื่อเริ่มต้น


11

ฉันใช้ OpenSuSE 12.1 กับบ้านที่ใช้ร่วมกันผ่าน LDAP และ NFS ldap เก็บแผนที่ ปัญหาของฉันคือฉันไม่สามารถติดตั้งการแชร์ได้ในขณะบู๊ต มันจะทำงานเฉพาะเมื่อรีสตาร์ทบริการ autofs ด้วยตนเอง บน CentOS 6.3 ไม่มีปัญหาดังกล่าว

ของฉัน/etc/nsswitch.conf:

passwd: files sss
group:  files sss

hosts:  files mdns4_minimal [NOTFOUND=return] dns
networks:       files dns

services:       files
protocols:      files
rpc:            files
ethers:         files
netmasks:       files
netgroup:       files nis
publickey:      files

bootparams:     files
automount:      files ldap
aliases:        files

ของฉัน/etc/openldap/ldap.conf:

SIZELIMIT       20
TIMELIMIT       15
#DEREF          never
TLS_REQCERT     demand
uri     ldap://10.0.0.1
base    dc=domain,dc=com

ของฉัน/etc/sssd/sssd.conf:

[sssd]
config_file_version = 2
reconnection_retries = 3
sbus_timeout = 30
services = nss, pam
domains = domain.com

[nss]
filter_groups = root
filter_users = root
reconnection_retries = 3

[pam]
reconnection_retries = 3

[domain/domain.com]
 id_provider = ldap
 auth_provider = ldap
 min_id = 500
 max_id = 30000
 ldap_schema = rfc2307
 ldap_uri =  ldaps://ldap-ms.local,  ldaps://ldap-sl.local, ldap://ldap
 ldap_search_base = dc=domain,dc=com
 ldap_user_search_base =  ou=People,dc=domain,dc=com
 ldap_group_search_base = ou=Group,dc=domain,dc=com
 ldap_tls_cacert = /etc/pki/CA/certs/domain-cacert.pem
 ldap_tls_reqcert = hard
 cache_credentials = true
 enumerate = True

ของฉัน/etc/sysconfig/autofs:

MASTER_MAP_NAME="auto.master"
TIMEOUT=300
BROWSE_MODE="yes"
MAP_OBJECT_CLASS="automountMap"
ENTRY_OBJECT_CLASS="automount"
MAP_ATTRIBUTE="ou"
ENTRY_ATTRIBUTE="cn"
VALUE_ATTRIBUTE="automountInformation"
USE_MISC_DEVICE="yes"

ฉันพลาดอะไรไปรึเปล่า?


2
โอกาสใดที่บริการ LDAP ของคุณจะไม่สามารถใช้ได้กับแผนที่ในเวลาสำหรับการสืบค้นระบบไฟล์บูท? ซึ่งจะอธิบายถึงความสำเร็จในภายหลังด้วยการรีสตาร์ทเมื่อระบบอัพและเสถียร
zedman9991

อะไรคือระดับเริ่มต้น (ภายใน runlevel เป้าหมายของคุณ) สำหรับautofsและ ldap-client ของคุณ?
นิลส์

@ zedman9991 ปัญหานี้เกิดขึ้นเฉพาะกับ opensuse รุ่นของฉัน (12.1) บน Centos 6.3 และ OpenSuse 11.2 ทำงานได้ดี
igor012

@Nils Autofs เริ่มที่ runlevels 3 และ 5
igor012

มีความแตกต่างในวิธีที่ autofs เมานต์แผนที่ใน boot บน opensuse 11.2 มัน mounts พวกมันที่ access แต่บน opensuse 12.1 มัน mounts พวกมันทั้งหมด แต่ไม่มีการเข้าถึง
igor012

คำตอบ:


1

คำถามนี้ถูกชุมชนชนและมันค่อนข้างเก่า
หลายสิ่งหลายอย่างเกิดขึ้นในช่วงหลายปีที่ผ่านมาไมเคิลพูดถึงวิธีแก้ปัญหาอย่างหนึ่งโดยใช้ fstab และปัญหาดั้งเดิมน่าจะเกิดขึ้นเนื่องจากคำสั่งการเรียกใช้งานในเวลาบูต เครือข่ายอาจยังไม่พร้อมบริการบางอย่างอาจยังไม่ได้เริ่มเป็นต้น

นอกจากนี้ยังมีวิธีแก้ไขปัญหาอื่นหากคุณใช้งาน systemd (ซึ่งฉันสงสัยว่า OP ทำในเวลานั้น แต่ถ้าคุณจบลงที่นี่ผ่านการค้นหาและทำเช่นนั้น) นี่เป็นอีกวิธีการหนึ่งที่ใช้คุณสมบัติ autoount ของ systemd

[Unit]
Description=Network mapping
After=network.target

[Mount]
What=10.0.0.1:/share/stuff
Where=/mnt/remote_share
Type=nfs
Options=_netdev,auto

[Install]
WantedBy=multi-user.target

ข้อเสียเปรียบอย่างเดียวคือคุณต้องระวังสิ่งที่คุณตั้งชื่อสคริปต์บริการ มันอธิบายได้ดีที่สุดที่นี่แต่ tl; dr-version คือไฟล์เซอร์วิสต้องถูกตั้งชื่อหลังจากพา ธ ที่จะเมาต์ และเครื่องหมายฟอร์เวิร์ดสแลชทั้งหมดในพา ธ ดังกล่าวจะต้องถูกแทนที่ด้วย-ในชื่อไฟล์บริการเพื่อให้การติดตั้งอัตโนมัติทำงานได้ ตัวอย่างข้างต้นของ/mnt/remote_share would be a service-file calledmnt-remote_share.mount`

มีตัวเลือกมากมายให้ไปกับสิ่งนี้
หาก systemd ไม่ได้เป็นสิ่งที่คุณยังมีจำนวนมากของสิ่งใหม่บนautofsด้านที่ไม่ได้งานที่ดีงาม(ทั้งหมดไม่ว่าจะเป็นบิตซับซ้อนสำหรับรสชาติของฉัน)

หากคุณต้องการใช้รายการ fstab แทน แต่ใช้คุณสมบัติ auto-hook ของ systemd นี่คือสิ่งที่ fstab ของคุณอาจมีลักษณะดังนี้:

10.0.0.1:/share/stuff   /mnt/remote_share  nfs  noauto,x-systemd.automount,x-systemd.device-timeout=10,timeo=14,x-systemd.idle-timeout=1min 0 0

และถ้าไม่ใช่งานเหล่านั้นก็มีวิธีแก้ปัญหาแบบ fstab บริสุทธิ์เช่นกัน:

10.0.0.1:/share/stuff   /mnt/remote_share   nfs   defaults,soft,rsize=32768,wsize=32768,timeo=900,retrans=5,_netdev 0 0

ฉันจะทิ้งลิงค์ไปยังเอกสารที่ดีเกี่ยวกับเรื่องนี้ (โดยคำนึงถึงมันเป็นระบบปฏิบัติการที่แตกต่างกัน แต่ Wiki ของพวกเขานั้นเขียนได้ดีที่สุดในตลาด)


0

ทำไมไม่เพียงเพิ่มตำแหน่งเมานต์ไปยัง fstab ของคุณ

คุณสามารถใช้ sshfs ได้เช่นกัน กำหนดค่า ssh เพื่อใช้การพิสูจน์ตัวตนกุญแจสาธารณะ


บนเซิร์ฟเวอร์:
sudo apt-get install openssh-server
เปลี่ยนเป็นหรือเพิ่ม ServerKeyBits 2048 เป็น / etc / ssh / sshd_config


บนไคลเอ็นต์
ssh-keygen -t rsa -b 2048
ssh-copy-id จากคอมพิวเตอร์ไคลเอนต์ไปยังเซิร์ฟเวอร์ ใช้รหัสผ่านของคุณสำหรับผู้ใช้ของคุณบนเครื่องเซิร์ฟเวอร์เพื่อเข้าสู่ระบบ
เปลี่ยน / etc / ssh / sshd_config: รหัสผ่านการตรวจสอบข้อเท็จจริงไม่มี UsePAM ไม่
ฉันใช้การตั้งค่าอื่น ๆ เช่นกันเพื่อปรับ SSH ให้แข็ง แต่สำหรับตัวอย่างนี้ไม่จำเป็น
หากคุณอยู่นอกการตั้งค่า LAN ของคุณ dyndns หรือ noip updater และตั้งค่า portforwarding บนเราเตอร์ของคุณดังนั้นพอร์ต 23 หรือพอร์ตที่คุณเคยตัดสินใจที่จะใช้เพื่อทำให้งงงวยบริการจะถูกส่งต่อไปยังที่อยู่ ip ของเซิร์ฟเวอร์หากคุณต้องการความช่วยเหลือ


จากนั้น:
sshfs USER @ SERVERADDRESS: / mnt / DRIVELOCATION / PATH / TO / MOUNT / DRIVE / TO
ฉันตั้งค่าคำสั่งนี้เป็นตัวเรียกใช้ในเมนูหลักสำหรับไดรฟ์และสำหรับคนอื่น ๆ ใน fstab
ฉันรู้ว่ามันใช้งานได้เพราะฉันใช้การตั้งค่าเดียวกันนี้บวกกับการชุบแข็งทุกวัน
วิธีนี้คุณสามารถกำจัดความต้องการ autofs และค่าใช้จ่ายที่ต้องการได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.