LINUX.ORG.RU

SAMBA прячет файлы

 , , , ,


0

2

Привет всем!

На гипервизор(Gentoo), посредством libvirtd работает виртуальная машина KVM(Gentoo + Samba). ВМ запускается через virt-install с опцией --filesystem /mnt/data. Таким образом с помощью virtio(9p)-драйверов данные с папки /mnt/data гипервизора видны в /mnt/data в гостевой ВМ. ВМ держит только сервис Samba и SSH. Такая связка проработала 1,5 месяца. Теперь начинаются чудеса - Заходим в шару через проводник Windows - видим 439 файлов, через Total Commander на примонтированном диске - 107 файлов, Консоль Windows на примонтированном диске - 693 файла. Идем в shell ВМ или гипервизора - видим порядка 750 файлов.

Еще есть такой эффект: заходим в проблемную шару через проводник и создаем 10 новых папок, жмем F5 и новая папка (2) куда-то исчезла.Но если указать полный путь: //share/новая папка(2) - в папку мы попадем. В это же время через shell ВМ будут видны все созданные папки и файлы. Такое поведение наблюдается только у 2-х расшаренных папок из 10. Настройки идентичны для всех шар, права и владелец идентичны.

В качестве клиентов WinXp, Win7. Делал в linux-клиенте mount -t cifs ....и видел порядка 100 файлов.

tcpdump отлавливает много таких вещей :

15:52:23.284757 IP (tos 0x0, ttl 64, id 50856, offset 0, flags [DF], proto TCP (6), length 117) 10.10.10.18.445 > 10.10.10.31.50102: Flags [P.], cksum 0xcc9c (incorrect -> 0x1b4e), seq 178031:178108, ack 5174, win 8196, length 77 SMB-over-TCP packet:(raw data or continuation?)

ifconfig

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.10.10.18 netmask 255.255.255.0 broadcast 10.10.10.255
inet6 fe80::5054:ff:fe6c:8a91 prefixlen 64 scopeid 0x20<link>
ether 54:52:00:6c:8a:91 txqueuelen 1000 (Ethernet)
RX packets 23782667 bytes 28014994487 (26.0 GiB)
RX errors 0 dropped 9445 overruns 0 frame 0
TX packets 19422468 bytes 9911527124 (9.2 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

smb.conf
workgroup = BLABLA
server string = data
server role = member server
hosts allow = 10.10.10. 10.10.11.
log file = /var/log/samba/log.%m
log level = 2
max log size = 50
interfaces = 10.10.10.18/24
dns proxy = no
Machine -d /dev/null -s /bin/false %u

security = user
map to guest = Bad Password
map to guest = Bad User
guest account = nobody
netbios aliases = server1 server2

printcap name = /dev/null
load printers = no
printing = bsd

kernel oplocks = no
nt acl support = no
strict locking = no
acl map full control = yes
os level = 255

name resolve order = lmhosts bcast host
kernel change notify = yes

Шара
path = /mnt/data/folder/share
csc policy = disable
valid users = nobody
public = yes
guest ok = yes
writable = yes
create mask = 0664
directory mask = 0775
level2 oplocks = no
locking = no
strict locking = no
oplocks = no

правил iptables нет

Продолжу тему.

Выяснилась интересная подробность. Если делать поиск файлов в терминале набирая find в самом гипервизоре, получаем моментальный результат(3-5сек), набирая эту же команду в ВМ, получаем результат (~2m30sec). Т.е. затык получается где-то на уровне файловой системе, а точнее virtio-драйверов 9p). В virsh dumpxml VM заметил параметр accessmode=mapped . Подскажите, пожалуйста, какой тюнинг еще можно применить для решения проблемы?

BedNuzFany ()
Ответ на: комментарий от BedNuzFany

Подскажите, пожалуйста, какой тюнинг еще можно применить для решения проблемы?

Отказаться от 9p и использовать пулы, либо nfs. Если в /mnt/data монтируется отдельный диск или раздел, то примонтировать его к гостевой системе с помощью virsh в качестве vda.

whoami-neo ()