NAS에 문제가 생긴 후 Debian/Lenny로 전환했습니다. 필요한 대부분의 소프트웨어를 성공적으로 설치하고 구성했지만 Samba 사용에 장애물이 있습니다. 공유에 액세스하여 모든 파일을 읽을 수 있지만 이를 통해 무엇이든 보내려고 하면 공간이 부족하다는 메시지가 나타납니다.
Windows를 사용하고 있으므로 명령 프롬프트를 열고 실행했습니다.
> dir \\MyNAS.home\Public
1 File(s) 44,814,336 bytes
12 Dir(s) 507, 998, 060, 544 bytes free
보고된 여유 공간이 정확합니다(~500GB). 그렇다면 문제가 무엇입니까? 아래는 내 smb.conf입니다.
[global]
workgroup = MEDUS
realm = WORKGROUP
netbios name = MyNAS
map to guest = bad user
server string = My Book Network Storage
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
log file = /var/log/samba/log.smbd
max log size = 50
dead time = 15
security = share
auth methods = guest, sam_ignoredomain, winbind:ntdomain
encrypt passwords = yes
passdb backend = smbpasswd:/opt/etc/samba/smbpasswd
create mask = 0664
directory mask = 0775
local master = no
domain master = no
preferred master = no
socket options = TCP_NODELAY SO_RCVBUF=65536 SO_SNDBUF=65536
min receivefile size = 128k
use sendfile = yes
dns proxy = no
idmap uid = 10000-65000
idmap gid = 10000-65000
don't descend = /proc, /dev, /etc
admin users =
null passwords = yes
guest account = nobody
unix extensions = no
[Public]
path=/shares/internal/PUBLIC
guest ok = yes
read only = no
dfree cache time = 10
dfree command = /opt/etc/samba/dfree
dfree command
문제를 해결하기 위해 내 자신의 매개변수를 추가했습니다 (성공하지 못함). 그러나 위에서 사용한 명령의 결과에서 알 수 있듯이 NAS가 올바른 디스크 공간을 보고하고 있는지 의심스럽습니다.
또한 명령을 사용해 보았지만 block size
소용이 없었습니다. 나예전에는공유에 빈 텍스트 파일을 만들 수 있어서 파일을 반복적으로 편집하고 저장했는데 약 130바이트에서 멈췄습니다.
문제가 무엇인지 아는 사람이 있습니까?
답변1
할당량을 활성화하시겠습니까? 조사하다:
sudo quotacheck -avugm
비활성화해 보세요:
sudo quotaoff -fvpa
답변2
smb.conf 파일을 확인하고 거의 모든 내용을 주석 처리한 후 구성 설정으로 인해 문제가 발생한 것으로 나타났습니다.min receivefile size
.
이 옵션은 SMBwriteX 호출을 처리할 때 smbd(8)의 동작을 변경합니다. 서명되지 않은 SMB/CIFS 연결에서 이 값보다 큰 수신 SMBwriteX 호출은 일반적인 방식으로 처리되지 않지만 기본 커널 recvfile 또는 splice 시스템 호출로 전달됩니다(이러한 호출이 없으면 Samba는 사용자 공간 시뮬레이션에 들어갑니다). ). 이를 통해 가능한 경우 네트워크 소켓 버퍼에서 파일 시스템 버퍼 캐시로 직접 제로 복사 쓰기가 가능해집니다. 이렇게 하면 성능이 향상될 수 있지만 사용자 테스트가 권장됩니다. 0으로 설정하면 Samba는 SMBwriteX 호출을 정상적으로 처리합니다. POSIX 대규모 쓰기 지원(SMB/CIFS는 최대 16Mb 쓰기)을 활성화하려면 이 옵션이 0이 아니어야 합니다. 최대값은 128k입니다. 128k보다 큰 값은 자동으로 128k로 설정됩니다.
conf 파일에서 이 줄을 주석 처리하면 문제가 해결되었습니다. 다른 사람이 권장하는 구성 설정을 사용할 때 이런 일이 발생하는 것 같습니다. 어쨌든, 이 설정이 무엇을 하는지 완전히 이해하고 있는지 잘 모르겠습니다.