가정용 NAS를 설정하고 있는데 이를 FreeNAS에 익숙해지는 기회로 삼고 있습니다.
내 사양:
FreeNAS-11.3-U2
Intel(R) Core(TM) i5-4690 CPU @ 3.50GHz.
16GB DDR3 메모리.
운영 체제: SSD ADATA SP600 250GB에서 실행됩니다.
내 수영장:
- NAS01. /mnt/NAS012x 2TB 이미지여유 공간 1개 포함(실제 백업/NAS 공간). 미러의 두 개발자는 WDC WD2003FZEX입니다. 예비 개발자는 ST2000DL003입니다.
- S500. /mnt/S5001 500GB(스크래치 공간). 디스크는 ST3500320AS 이고 6번째 1TDB 디스크가 사용 대기중입니다...
나는 원래 다른 컴퓨터에서 외장 하드 드라이브에 있는 zfs 데이터 세트로 약 80GB의 데이터를 백업했습니다. 나중에 나는 그러한 디스크를 가져올 수 없다는 것을 알게 되었습니다. 이 데이터 세트에는 원래 머신에서 생성된 스냅샷이 있습니다.
그런 다음 S500/pre2012가 /mnt/pre2012에 설치되었으므로 데이터 세트를 pool2로 전송할 수 있었습니다(솔직히 지금은 어떻게 했는지 기억이 나지 않지만 zpool을 거쳐 ifs를 cli를 거쳐야 했습니다).
어떤 시점에서 나는 a를 사용하여 zfs send | recv
S500/pre2012@snp1을 NAS01/pre2012 아래의 pool1로 전송했습니다(복사해도 될까요?). 예기치 않게 /mn/mnt/pre2012 아래에 마운트되었습니다.
SMB 공유에 대해 테스트하고 익숙해지고 모든 MAC 및 Linux 시스템에서 작동할 수 있는지 확인한 후 풀 1(NAS01)을 계획한 내용과 방법에 따라 다양한 데이터 세트로 구성해야 한다고 결정했습니다. 보관해두세요. 저는 GUI를 사용하여 이러한 데이터 세트를 만들었습니다.
결과는 다음과 같은 루트 데이터세트의 구조입니다 zfs list
.:
NAS01/PRIVATE 55.0G 1.62T 20.5G /mnt/NAS01/PRIVATE
NAS01/PRIVATE/Documents 573M 1.62T 573M /mnt/NAS01/PRIVATE/Documents
NAS01/PRIVATE/Fotos 33.9G 1.62T 33.9G /mnt/NAS01/PRIVATE/Fotos
NAS01/PUBLIC 16.9G 1.62T 96K /mnt/NAS01/PUBLIC
NAS01/PUBLIC/Library 57.6M 1.62T 57.6M /mnt/NAS01/PUBLIC/Library
NAS01/PUBLIC/Movies 15.5G 1.62T 15.5G /mnt/NAS01/PUBLIC/Movies
NAS01/PUBLIC/Music 1.05G 1.62T 1.05G /mnt/NAS01/PUBLIC/Music
NAS01/PUBLIC/Software 299M 1.62T 299M /mnt/NAS01/PUBLIC/Software
NAS01/pre2012 71.3G 1.62T 71.3G /mnt/mnt/pre2012
S500 268G 178G 136K /mnt/S500
S500/SharedScratch 196G 178G 196G /mnt/S500/SharedScratch
S500/pre2012 71.4G 178G 71.3G /mnt/pre2012
SharedScratch는 내 네트워크의 SMB에서 잘 작동하며 게스트 계정 액세스만 사용하며 누구도 소유하지 않습니다. 그러나 그것은 또 다른 이야기입니다.
현재,S500/pre2012 구조(또는 장착 지점)은 다음과 같습니다.
/mnt//pre2012/120/30/home/
/mnt//pre2012/120/30/MatLab6.5/
/mnt//pre2012/120/80/home/
/mnt//pre2012/120/80/O/
/mnt//pre2012/120/80/usr/
/mnt//pre2012/250/48/home/
/mnt//pre2012/250/80win/
mv
또한 내가 NAS01/PUBLIC/Music으로 관리했던 Music 과 같은 다른 폴더도 있습니다 .
S500/pre2012 아래의 모든 폴더는 사용자가 소유합니다 admin
. 이것은 내가 만든 유일한 추가 사용자입니다.
다음과 같은 명령을 실행할 때 루트 권한을 사용했지만 내 문제는 권한 문제와 관련된 것 같습니다.:
root@freenas[/mnt/S500/pre2012]#mv 120 /mnt/NAS01/PRIVATE/Documents
mv: chmod: /mnt/NAS01/PRIVATE/Documents/120/30/home/msantos/Reports/Apoptosis: Operation not permitted
mv: chmod: /mnt/NAS01/PRIVATE/Documents/120/30/home/msantos/Reports/.Designability.March.2005.tex.swp: Operation not permitted
mv: /mnt/NAS01/PRIVATE/Documents/120/30/home/msantos/Reports/NMR: File exists
mv: /bin/cp 120 /mnt/NAS01/PRIVATE/Documents/120: terminated with 1 (non-zero) status
이것폴더 권한예:
root@freenas[/mnt/S500/pre2012/120]# ll ; ll /mnt/NAS01/PRIVATE/Documents/120
total 26
drwxr-x---+ 4 admin admin uarch 4 Sep 22 21:03 ./
drwxr-x---+ 4 admin admin uarch 4 Sep 22 21:03 ../
drwxr-x---+ 3 admin admin uarch 3 Sep 22 21:14 30/
drwxr-x---+ 5 admin admin uarch 5 Sep 14 15:56 80/
total 2
drwxrwx---+ 3 root admin uarch 3 Sep 22 21:57 ./
drwxrwx---+ 3 admin admin uarch 4 Sep 22 21:57 ../
drwxrwx---+ 3 root admin uarch 3 Sep 22 21:57 30/
보시다시피 이동으로 인해 모든 내용이 복사되는 것은 아니지만 일부 콘텐츠는 복사됩니다! 더욱 걱정스러운 것은 이것이 움직임이라는 것입니다!
여기 몇 가지가 있습니다대상 폴더의 권한:
root@freenas[~]# ls -lF /mnt/NAS01
total 9
drwxr-xr-x+ 5 admin admin 6 Sep 22 19:16 PRIVATE/
drwxrwx---+ 6 root wheel 6 Sep 22 15:30 PUBLIC/
root@freenas[~]# ls -lFd /mnt/NAS01/*/*
drwxrwx---+ 3 admin admin 4 Sep 22 21:57 /mnt/NAS01/PRIVATE/Documents/
drwxrwx---+ 15 admin admin 19 Sep 22 20:37 /mnt/NAS01/PRIVATE/Fotos/
drwxrwx---+ 2 nobody admin 4 Sep 22 21:03 /mnt/NAS01/PUBLIC/Library/
drwxrwx---+ 5 nobody admin 38 Sep 22 20:13 /mnt/NAS01/PUBLIC/Movies/
drwxrwx---+ 17 nobody admin 36 Sep 22 20:41 /mnt/NAS01/PUBLIC/Music/
drwxrwx---+ 9 nobody admin 9 Sep 22 21:09 /mnt/NAS01/PUBLIC/Software/
이러한 모든 PRIVATE 및 PUBLIC 하위 데이터 세트는 SMB를 통해 공유됩니다. 첫 번째 항목은 관리자만 액세스할 수 있어야 합니다. 따라서 이러한 권한/소유권이 있습니다.
mv
내 질문: 여기를 사용하여 이러한 데이터세트를 어떻게 안정적으로 채울 수 있나요 ?zfs send/recv를 사용하여 특정 데이터 세트/폴더에 데이터를 복사하는 방법을 이해할 수 없습니다. 그렇기 때문에 처음에 시도했을 때 /mnt/mnt/ 아래에 pre2012 복사본이 생겼는데, GUI에서 공유로 사용할 수 없었습니다. 그래서 나는 mv
.
또한 원본 데이터세트의 다양한 폴더를 다양한 dst 데이터세트로 정렬하려고 하기 때문에 zfs send/recv가 이를 어떻게 수행할 수 있는지 알 수 없습니다. 그게 가능합니까?
이 시점에서 나는 약간 좌절했습니다. 제가 뭔가 완전히 잘못된 일을 하고 있거나 FreeNAS를 어떻게 사용해야 하는지에 대한 기본 개념을 놓치고 있거나... 또는 둘 중 하나입니다. :-/ 어쨌든, 서버에 데이터를 채우는 것이 이렇게 복잡할 거라고는 예상하지 못했습니다. .
이번에도 FreeNAS를 사용하기 시작한 지 1.5주가 지났습니다. 죄송합니다. 게시물이 너무 길어졌습니다.
나는 지금 막혔다. 어떤 조언이라도 대단히 감사하겠습니다.
미리 감사드립니다.
답변1
해결됨...일종의.
다음과 같은 스레드에서 배운 것에서이것,이것그리고이것이는 다음과 같은 문제의 조합일 수 있습니다.
SMB
데이터 세트를 생성할 때 대신 유형으로 선택했습니다 .Generic
. 삼바 공유에는 문제가 없지만 비용이 발생합니다. FreeNAS는case sensitive
즉시 모드를 할당하고 변경할 수 없습니다.- chmod 및 smb acl: cli 수준(chmod)에서 수행되는 작업은 GUI가 수행하는 작업과 다르거나 완전히 호환됩니다.
- 사용하는 경우
rsync
다음과 같이 사용할 수 있습니다.rsync -A --no-perms ...
. 나는 이것이 옵션이 아니라는 것을 몰랐습니다(예를 들어 OSX에서는 사용할 수 없음). 그것이 하는 일은-A
ACL 항목을 훌륭하게 처리하는 것뿐입니다. - 루트로 sudo를 실행했는지 확인하세요.
sudo su -l
최종 해결책은 대소문자를 구분해야 하는 일부 폴더를 다시 실행하는 것이었습니다.PRIVATE/Documents
NFS 공유로 공유버전 4를 설치하고 모든 사용자가 이를 설치하도록 강제합니다(제 경우에는 이 공유에 할당한 사용자 이름 - admin).
generic
이를 통해 데이터 세트 유형을 및 다음 으로 지정할 수 있습니다 case sensitive
. SMB 공유보다 빠른 것 같습니다.
이는 최적이 아닐 수 있습니다. 하지만 주로 Mac과 Linux(Windows에서는 거의 사용하지 않음)에서 사용하기 때문에 꽤 좋은 것 같습니다.
Mac에서 cli를 통해 공유를 설치했습니다 mount -t nfs nas:/mnt/NAS01/PRIVATE/Documents ~/Desktop/NFS
. 나는 ()를 처음으로 사용하려고 시도하지 않았습니다 Finder
(아래 PS 참조).Go to Server...
Finder
해당 데스크탑 폴더를 번역하십시오 NFS -> Documents
. 그러나 cli에서는 여전히 NFS
.
PS: 이번이 NFS 공유를 설정하고 Mac 클라이언트를 사용하려는 두 번째 시도인데 지금까지는 모든 것이 괜찮아 보입니다. 처음에는 볼 수 없었던 이상한 문제입니다. 파일을 공유에 복사하고 무한 복사본을 만들기 시작하면 파인더가 무한 루프에 갇히게 됩니다.