Tự động gắn kết không ngắt kết nối sau khi không hoạt động


10

Tôi có autofs được cài đặt trên một số máy chủ Linux được kết nối với máy chủ NFS trung tâm cho người sử dụng / thư mục nhà. Nó hoạt động rất tốt khi gắn các thư mục khi đăng nhập, nhưng các mount dường như không bao giờ hết thời gian. Tôi đã kiểm tra / etc / sysconfig / autofs và mặc định thực sự được đặt thành 300, vì vậy những thứ này sẽ hết thời gian sau 5 phút.

Khởi động lại autofs sẽ vượt qua tất cả các thư mục, vì vậy tôi biết nó có khả năng.

Tôi đã cố gắng sử dụng lsof ngẫu nhiên trên các thư mục nhưng không có tệp nào xuất hiện mở bất cứ lúc nào.

Tôi cũng đã gắn một thư mục ngẫu nhiên mà tôi biết là không hoạt động, nhưng chúng không bao giờ tự khắc phục được. Một số trong các hộp này có hơn 10 người dùng đã đăng nhập một lần và các lần gắn kết không bao giờ giảm.

Tôi chỉ đang cố gắng tìm ra một phương pháp tốt hơn để tìm hiểu lý do tại sao. Tôi không thấy bất cứ điều gì cụ thể trong bất kỳ nhật ký.

Bất kỳ đề xuất đều được đánh giá cao. Cảm ơn!

CẬP NHẬT

Tôi đã bật gỡ lỗi cho autofs nhưng dường như nó không tiết lộ bất cứ điều gì khác thường. Các nhật ký này được tạo 7 phút sau khi / home / user1 ban đầu được gắn và sau 6 phút không hoạt động. Theo mặc định 5 phút, điều này đáng lẽ phải được bỏ qua. Tôi chưa bao giờ thấy một bản ghi đi qua cho thấy một nỗ lực thậm chí đã được thực hiện để vượt qua.

Jan 11 12:52:00 linux automount[26505]: st_expire: state 1 path /home
Jan 11 12:52:00 linux automount[26505]: expire_proc: exp_proc = 3055176592 path /home
Jan 11 12:52:00 linux automount[26505]: expire_proc_indirect: expire /home/user1
Jan 11 12:52:00 linux automount[26505]: expire_proc_indirect: expire /home/user2
Jan 11 12:52:00 linux automount[26505]: expire_proc_indirect: expire /home/user3
Jan 11 12:52:00 linux automount[26505]: 3 remaining in /home
Jan 11 12:52:00 linux automount[26505]: expire_cleanup: got thid 3055176592 path /home stat 7
Jan 11 12:52:00 linux automount[26505]: expire_cleanup: sigchld: exp 3055176592 finished, switching from 2 to 1
Jan 11 12:52:00 linux automount[26505]: st_ready: st_ready(): state = 2 path /home

Cập nhật 2 Sau khi nói chuyện với bộ phận hỗ trợ của Red Hat về vấn đề này, giải pháp cuối cùng là rút ngắn giá trị thời gian chờ cho các thư mục nhà. Tôi đã làm điều đó và có vẻ tốt. Một cái gì đó rõ ràng là đi qua điểm gắn kết cứ sau 2 1/2 đến 3 phút và khiến điều này ở lại.

Giải pháp là thêm giá trị thời gian chờ vào tệp /etc/auto.master cho ánh xạ đó:

 /home     /etc/auto_home --timeout=120

bạn đang sử dụng lệnh nào để xác định rằng các mount này có mặt? Tôi giả sử df, nhưng chỉ muốn làm rõ.
Banjer

Có, tôi đang sử dụng df để kiểm tra không gian được gắn kết. Tôi chỉ cần cd vào các thư mục là root để có được chúng để mount.
SteveHNH

Câu trả lời:


4

Bên cạnh đó, các biến tự động biến TIME TIME có khoảng thời gian kiểm tra:

# cat /var/log/messages
Jan 11 21:45:35 client automount[24804]: mounted offset on /net/server/share with timeout 300, freq 75 seconds

Nó bằng với THỜI GIAN / 4. Mỗi lần tự động TIME TIME / 4 giây hỏi kernel khi thư mục được truy cập lần trước. Vì vậy, trong môi trường của bạn, bạn có thư mục được đếm sau 375 giây không hoạt động.

Để có được nhật ký chi tiết hơn, bạn nên thêm LOGGING="debug"vào/etc/sysconfig/autofs


Tôi hiểu rồi. Cảm ơn bạn đã làm rõ. Các bản ghi ở trên tiếp tục tốt sau 6 phút không hoạt động, và vượt quá 375 giây. Tôi tiếp tục nghĩ rằng một cái gì đó phải được truy cập vào các thư mục này, hoặc không thể thử được. Tôi đoán mục tiêu thực sự của tôi là tìm hiểu những gì đang truy cập vào thư mục này, nếu có bất cứ điều gì. Đó có thể là lý do duy nhất tôi có thể nghĩ rằng nó sẽ không thành công.
SteveHNH

1

Tôi đã có một vấn đề tương tự. Tôi đã cài đặt lại máy chủ RHEL 4.7 ProLiant 10 năm tuổi của chúng tôi với CentOS 6 trong kỳ nghỉ Giáng sinh. Tôi đã có 2 ProLiants mới hơn mà tôi có thể cài đặt CentOS 7 gần đây hơn (vào tháng 4).

Tôi đã định cấu hình tự động đếm các thư mục nhà từ máy chủ CentOS 6 bằng cách sử dụng một dòng /etc/auto.mastertrên máy chủ CentOS 7 như sau:

/home   /etc/auto.home

Sau đó, tôi đã tạo một /etc/auto.hometệp mới trên các máy chủ CentOS 7 ban đầu bằng một dòng:

*      sam:/home/&

Các thư mục nhà sẽ không unmount tuy nhiên. Tôi cũng nhận thấy rằng một số quyền sở hữu tệp trong các thư mục nhà đôi khi sẽ kết thúc với số UID và GID khổng lồ chống lại chúng. Nó sẽ thay đổi một vài phút sau.

Tôi đặt mức ghi nhật ký là 'gỡ lỗi' /etc/autofs.confvà bắt đầu xem journalctl -fu autofs.service. Tôi thấy các tin nhắn gần như giống hệt như hình trên, dường như không có manh mối.

Vì tôi chưa thể hiểu NFS 4 và tôi biết rằng máy chủ CentOS 6 của chúng tôi đã xuất khẩu cổ phần của mình dưới dạng NFS 4 theo mặc định, tôi đã thử thêm nfsvers=3vào /etc/auto.hometệp như vậy:

training      -nfsvers=3,noac,soft,intr  sam:/home/training

Tôi cũng đã thấy thông báo kỳ lạ về việc cố gắng gắn kết các thư mục như thế /home/lib, vì vậy đã thêm các thư mục nhà riêng lẻ trên các dòng riêng biệt. (Có lẽ nên thử gắn kết trực tiếp tại thời điểm này hoặc thử hệ thống tự động systemd.)

Bây giờ tôi bắt đầu thấy các tin nhắn như:

Apr 27 09:32:28 betty automount[13501]: expire_proc_indirect: expire /home/fred
Apr 27 09:32:28 betty automount[13501]: handle_packet: type = 4
Apr 27 09:32:28 betty automount[13501]: handle_packet_expire_indirect: token 21, name fred
Apr 27 09:32:28 betty automount[13501]: expiring path /home/fred
Apr 27 09:32:28 betty automount[13501]: umount_multi: path /home/fred incl 1
Apr 27 09:32:28 betty automount[13501]: umount_subtree_mounts: unmounting dir = /home/fred
Apr 27 09:32:28 betty automount[13501]: spawn_umount: mtab link detected, passing -n to mount
Apr 27 09:32:29 betty automount[13501]: rm_unwanted_fn: removing directory /home/fred
Apr 27 09:32:29 betty automount[13501]: expired /home/fred
Apr 27 09:32:29 betty automount[13501]: dev_ioctl_send_ready: token = 21
Apr 27 09:32:29 betty automount[13501]: handle_packet: type = 4
Apr 27 09:32:29 betty automount[13501]: handle_packet_expire_indirect: token 22, name barney
Apr 27 09:32:29 betty automount[13501]: expiring path /home/barney
Apr 27 09:32:29 betty automount[13501]: umount_multi: path /home/barney incl 1
Apr 27 09:32:29 betty automount[13501]: umount_subtree_mounts: unmounting dir = /home/barney
Apr 27 09:32:29 betty automount[13501]: spawn_umount: mtab link detected, passing -n to mount
Apr 27 09:32:29 betty automount[13501]: rm_unwanted_fn: removing directory /home/barney
Apr 27 09:32:29 betty automount[13501]: expired /home/barney
Apr 27 09:32:29 betty automount[13501]: dev_ioctl_send_ready: token = 22
Apr 27 09:32:29 betty automount[13501]: expire_proc_indirect: expire /home/barney
Apr 27 09:32:29 betty automount[13501]: expire_proc_indirect: expire /home/wilma
Apr 27 09:32:29 betty automount[13501]: 1 remaining in /home

Các thư mục nhà bây giờ bắt đầu ngắt kết nối sau 10 phút như họ nên - vì vậy đó là một vấn đề với NFS 4 được định cấu hình sai trong trường hợp của tôi.

Quan trọng: sau khi cấu hình lại các bản đồ, chỉ cần thực hiện systemctl daemon-reloadhoặc systemctl reload autofskhông có bất kỳ ảnh hưởng nào. tôi phải làmsystemctl restart autofs


1

Đối với bất kỳ ai khác gặp phải vấn đề tương tự, có các quy trình GUI trên máy tính để bàn hiện đại quét các ổ đĩa liên tục. Cụ thể là Nautilus trên Gnome và Dolphin trên KDE cùng với các ứng dụng lập chỉ mục tệp như Baloo. Đây đều là những khả năng gây ra các triệu chứng.

Đối với tôi (chạy KDE), manh mối duy nhất từ ​​ghi nhật ký gỡ lỗi tự động là "1 còn lại", vd:

    Feb 13 00:00:44 fig automount[19026]: expire_proc: exp_proc = 139620739028736 path /mnt/vchanger
    Feb 13 00:00:44 fig automount[19026]: expire_proc_indirect: expire /mnt/vchanger/fb207cd6-6931-4af4-8293-c82ee0d2394c
    Feb 13 00:00:44 fig automount[19026]: 1 remaining in /mnt/vchanger

Điều này đã không thực sự xác định nguồn. Ngoài ra, không ai trong số lsof, fuser và audctl (audd) đưa ra bất kỳ cái nhìn sâu sắc nào.

Cuối cùng, qua quá trình loại bỏ, tôi xác định có 2 ứng dụng:

  • KSysGuard (Giám sát hệ thống KDE)
  • Cá heo (Trình quản lý tệp)

Vấn đề với cá heo có thể được khắc phục trong trường hợp này bằng cách "ẩn" đĩa được gắn vi phạm trong chế độ xem dạng cây của nó.

KSysGuard không xuất hiện cấu hình nhưng sau đó có lẽ không bình thường khi nó chạy lâu dài trừ khi bạn đang gỡ lỗi một cái gì đó. Hy vọng rằng các ứng dụng khác có thể được cấu hình nhiều hơn trong việc cho phép loại trừ để ngăn chặn điểm gắn kết tự động khỏi bị quét.


FYI, nếu bạn đăng nhập trước khi chỉnh sửa bài đăng của mình, bạn sẽ không cần phê duyệt sau (hoặc đợi hàng giờ để người khác phê duyệt).
G-Man nói 'Phục hồi Monica'

0

Tôi đã dành hàng giờ hôm nay để cố gắng gỡ lỗi và vấn đề tương tự. Đây là những gì tôi tìm thấy và cách tôi làm việc xung quanh.]

thiết lập: Tôi muốn tự động gắn dir chứa các thư mục nhà của người dùng từ máy chủ nfs "srv1: / srv / homes" tại / mnt / nfs / homes trên máy khách. Máy chủ NFS xuất khẩu NFS4. phiên bản tự động 5.1.3

Tôi đã cấu hình mọi máy khách như thế:

/etc/auto.mount: tệp chứa sau:

... 
/mnt/nfs /etc/auto.home
...

/etc/auto.home:

homes  -rw,soft,intr,rsize=8192,wsize=8192 srv1:/srv/homes

Cuối cùng, điều này thể hiện một bản đồ gián tiếp. Tự động gắn kết hoạt động như một nét duyên dáng. Tôi nhận được khối lượng NFS được gắn và làm việc đúng cách. Nhưng ... nó không bao giờ được tự động vượt qua. Mặc dù tệp autofs.conf cho biết:

mounthiển thị thời gian chờ 600 giây:

#1# /etc/auto.home on /mnt/nfs type autofs (rw,relatime,fd=18,pgrp=5054,timeout=300,minproto=5,maxproto=5,indirect) 
srv1:/srv/homes on /mnt/nfs/homes type nfs4 (rw,relatime,vers=4.2,rsize=8192,wsize=8192,namlen=255,soft,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=x.x.x.x,local_lock=none,addr=y.y.y.y)

Tôi đã thấy chính xác như vậy trong bản ghi tự động (kích hoạt mức ghi nhật ký gỡ lỗi) từ nhật ký là wanpelaman

automount[53593]: st_expire: state 1 path /mnt/nfs
automount[53593]: expire_proc: exp_proc = 139645987374848 path /mnt/nfs
automount[53593]: expire_proc_indirect: expire /mnt/nfs/homes
automount[53593]: 1 remaining in /mnt/nfs
automount[53593]: expire_cleanup: got thid 139645987374848 path /mnt/nfs stat 3
automount[53593]: expire_cleanup: sigchld: exp 139645987374848 finished, switching from 2 to 1
automount[53593]: st_ready: st_ready(): state = 2 path /mnt/nfs

Lúc đó tôi đã từ bỏ autofs và quyết định sao chép cấu hình automount với systemd. Trên thực tế tôi đã chạy nó và tại thời điểm này mọi thứ hoạt động rất tốt - tự động gắn kết, tự động ngắt kết nối sau thời gian nhàn rỗi được xác định trước. Hoàn hảo. Nhưng systemd ... một chút vụng về (đừng bắn vào tôi, tôi thực sự thích nó). Sau đó, tôi nhìn vào cách systemd xử lý tự động gắn:

#2# systemd-1 on /mnt/nfs/homes type autofs (rw,relatime,fd=35,pgrp=1,timeout=20,minproto=5,maxproto=5,direct)
srv1:/srv/homes on /mnt/nfs/homes type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=x.x.x.x,local_lock=none,addr=y.y.y.y)

Sự khác biệt giữa # 1 # và # 2 # là cái sau là bản đồ trực tiếp trong khi # 1 # là gián tiếp. Do đó, tôi ngay lập tức quyết định cấu hình lại tự động trên một máy khách khác và tạo bản đồ trực tiếp như thế:

/etc/auto.master

/-   /etc/auto.home

/etc/auto.home

/mnt/nfs/homes  -rw,soft,intr,rsize=8192,wsize=8192 srv1:/srv/homes

Và điều này cuối cùng đã giải quyết vấn đề. Cả tự động gắn kết và tự động umount hoạt động tốt. umount đã được chạy thành công sau thời gian nhàn rỗi được xác định trước trong /etc/autofs.conf

Tuyệt đối không cần sửa đổi trên máy chủ NFS.

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.