Autofs는 시작시 공유를 마운트하지 않습니다


11

LDAP 및 NFS를 통해 공유되는 홈에서 OpenSuSE 12.1을 사용하고 있습니다. 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

autofsldap-client 의 시작 레벨 (목표 런레벨 내)은 무엇입니까?
Nils

@ zedman9991이 문제는 Centos 6.3 및 OpenSuse 11.2 버전의 opensuse (12.1)에서만 발생합니다.
igor012

@Nils Autofs는 런레벨 3과 5에서 시작합니다.
igor012

opensuse 11.2에서 부팅 할 때 autofs가 맵을 마운트하는 방식에는 차이가 있지만 액세스시에는 맵을 마운트하지만 opensuse 12.1에서는 액세스하지 않는 맵을 모두 마운트합니다.
igor012

답변:


1

이 질문은 커뮤니티에 의해 부딪 쳤고, 꽤 오래되었습니다.
Michael은 수년 동안 많은 일이 일어났다 고 Michael은 fstab을 사용하여 하나의 솔루션을 언급했습니다. 그리고 원래 문제는 부팅시 실행 순서에 따라 발생했을 가능성이 높습니다. 네트워크가 준비되지 않았거나 일부 서비스가 시작되지 않았을 수 있습니다.

systemd를 실행하는 경우 또 다른 솔루션이 있습니다 (당시 OP가 의심했지만 검색을 통해 여기에 도달하면 그렇게합니다)는 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- 버전은 서비스 파일의 이름을 마운트 할 경로의 이름으로 지정해야한다는 것입니다. 그리고 -자동 마운팅이 작동하려면 해당 경로의 모든 슬래시를 서비스 파일 이름 으로 바꿔야 합니다. /mnt/remote_share would be a service-file calledmnt-remote_share.mount 의 위 예

옵션 에는 여러 가지 옵션 이 있습니다.
systemd가 당신의 것이 아니라면, autofs 측에 꽤 좋은 일을 하는 많은 새로운 것들이 있습니다 (모두 맛에 약간 복잡합니다) .

fstab 항목을 대신 사용하지만 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

이들 중 어느 것도 작동하지 않으면 pure-fstab 솔루션도 있습니다.

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

나는 그 주제에 관한 좋은 문서에 대한 몇 가지 링크를 드롭 할 것입니다.


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를 변경하십시오. PasswordAuthentication 아니오, UsePAM 아니오
ssh를 강화하기 위해 다른 설정을 사용하지만이 예에서는 필요하지 않습니다.
LAN 설정 외부에서 dyndns 또는 noip 업데이터를 설정하고 라우터에서 포트 포워딩을 설정하면 포트 23 또는 서비스를 난독 처리하기 위해 사용하기로 결정한 포트가 서버 IP 주소로 전달됩니다.


그런 다음 :
sshfs USER @ SERVERADDRESS : / mnt / DRIVELOCATION / PATH / TO / MOUNT / DRIVE / TO
이 명령을 일부 드라이브 및 fstab의 주 메뉴에서 실행 프로그램으로 설정했습니다.
이 동일한 설정과 매일 강화 기능을 사용하기 때문에 작동한다는 것을 알고 있습니다.
이런 식으로 autofs와 필요한 오버 헤드를 제거 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.