중복 제거 기능을 갖춘 독립형 파일 서버 필요

중복 제거 기능을 갖춘 독립형 파일 서버 필요

상태: Homelab 서버(Windows OS)를 Linux 기반 서버로 다시 설치하고 싶습니다.

섬기는 사람|목적: 백업 시스템(주로 오프라인)

현재 HP Proliant Microserver N54
Turion II Neo N54l 2,2Ghz, 4GB RAM을 사용하고 있습니다.

https://geizhals.at/a688459.html

설정
JBOD 스토리지(15,6TiB)에 대한 풀의 물리적 디스크 6개(HDD 5개, SSD 1개)
LUN 1개,
Windows 공유(SMB/Cifs)를 통해 포맷된 NTFS 파일
공유에 대한 특별한 NTFS 권한 없음(i만 해당)
Windows Server 2012 R2(생산 중단) 지원 중복 제거, 데이터 모드 = 범용 파일 서버에서
약 4.5TiB 절약

고객 클라이언트는 주로 Windows이며 가까운 시일 내에 일부 Linux가 될 수도 있습니다.
SMB/Cifs 및 RDP를 통한 서버 액세스(관리)

예, 서버는 느리지만 유일한 목적은 보관이며 대부분 꺼져 있으며 때로는 데이터에 액세스합니다(단일 사용자, 병렬 액세스가 필요하지 않음). 지금처럼 잘 작동해요

표적
저는 Linux 사용을 선호하고 Server 2012 R2는 단종되었으므로 동일한 기능을 제공하기 위해 동일한 기반을 사용하여 GNU/Linux에 시스템을 다시 설치하고 싶습니다.

중복 제거에 대해 읽어 보면 항상 ZFS 또는 BTRFS이지만 많은 RAM이 필요합니다. 또는 BorgBackup의 OpenMediaVault를 사용하십시오. 하지만 클라이언트에도 BorgBackup이 필요합니다(클라이언트에는 여전히 Windows가 필요함).

가장 가까운 Linux 설정은 무엇입니까?

답변1

파일 서버에 대한 Truenas Scale을 참조하세요.https://www.truenas.com/truenas-scale/ RDP 대신 네트워크 관리 패널이 있습니다

zfs 풀에서 중복 제거를 사용해야 한다면 RAM을 추가해야 한다고 생각합니다.

답변2

따라서 일반적으로 USB 드라이브에서 데비안을 설치할 수 있습니다.debian 12 amd64 네트워크 설치 이미지(이것은 debian.org에서 "다운로드"를 클릭하면 얻을 수 있는 기본값입니다). "그래픽 설치"를 수행합니다.

네트워크에 DHCP(또는 IPv6 autoconf)가 있는 경우 네트워크에 대해 아무것도 설정할 필요가 없습니다. 기본 설정을 사용하면 됩니다.

때때로 설치 프로그램은 디스크 설정에 사용할 구성표를 선택하라는 메시지를 표시합니다. 사용

부팅 가능 - 전체 디스크를 사용하고 LVM을 설정합니다.

다음 대화 상자에서 부팅할 드라이브를 설치 위치로 선택합니다. (의심스러운 경우 SSD를 사용하십시오. SSD는 가장 많이 깨어나야 하고 가장 빨리 깨어나는 SSD입니다.) 변경 사항을 디스크에 쓸지 묻는 메시지가 나타나면 예를 선택합니다.

나중에 물어볼게

부팅 파티션에 전체 볼륨 그룹이나 그 일부를 사용할 수 있습니다. ...

해당 대화 상자에서는 현재 20GB만 사용됩니다. 이것은 시스템 설치 볼륨의 크기이므로 많이 필요하지 않습니다. 리눅스논리 볼륨 관리자우리가 사용하는 (LVM)을 사용하면 런타임과 나중에 언제든지 필요에 따라 더 많은 공간을 추가할 수 있습니다. 정돈된.

변경 사항을 디스크에 기록할 것인지 다시 확인하세요.

설치 프로그램이 기본 시스템 설치를 시작합니다. 소프트웨어 선택에서 "SSH 서버" 및 "표준 시스템 유틸리티"가 선택되어 있는지 확인하여 설치를 완료합니다. 이 상자는 구석에 있는 화면 없는 서버가 될 것이므로 그래픽 데스크톱 환경을 설치하는 것부터 시작하지 않겠습니다. :)

모든 것이 설치되고 부트로더를 어디에 설치할 것인지 묻는 메시지가 표시됩니다. 이전과 동일한 드라이버입니다.

설치가 완료되면 재부팅하면 다소 지루한 프롬프트가 나타납니다.

Debian GNU/Linux 12 debian tty1

debian login: 

설치 중에 지정한 일반 사용자 자격 증명을 사용하십시오.

ip address

이 기계의 IP 주소를 알려줄 것입니다.

다른 랩탑을 사용하여 새로 설정된 시스템에 들어가십시오 ssh. 우리는 더 이상 구성하기 위해 그 앞에 앉아 있지 않을 것입니다.

SSH를 통해 로그인(물론 로컬 로그인도 가능),

sudo vgs

표시됩니다볼륨 그룹;정확히 하나만 있어야 합니다 debian-vg.

sudo lvs

당신에게 보여줄 것이다논리 볼륨root; 시스템의 파일 시스템을 포함하고 swap_1RAM이 부족할 때 사용되는 디스크 공간인 두 개가 있어야 합니다 .

우리는 다른 모든 디스크도 사용하고 싶습니다.

  1. 볼륨 그룹에 추가
  2. 여러 디스크에 걸쳐 있는 새로운 대용량 논리 볼륨을 생성합니다.
  3. XFS를 사용하여 새 논리 볼륨을 포맷하고 마지막으로
  4. CIFS/Windows 공유로 사용

따라서 먼저 이러한 드라이브가 어디에 있는지 알아내야 합니다. sudo pvs현재 사용 중인 표시물리적 볼륨, 즉 볼륨 그룹에서 사용 중인 실제 저장 장치입니다. 정확히 하나가 있어야합니다. 그것은 마치 /dev/sda5. 따라서 /dev/sda이것은 설치 중에 설정한 디스크가 됩니다.

달리기 sudo lsblk. 모든 디스크 목록이 표시됩니다. 다른 디스크도 거기에 있을 것입니다. 그들의 이름을 적어보세요. 우리는 그들이 sbd, 등 sdc이라고 가정합니다. sdd(아마도 실제로는 그렇지 않을 것입니다!)

sudo pvcreate /dev/sdb /dev/sdc /dev/sdd

이러한 디스크의 파티션 테이블에 복구할 수 없는 손상을 입히고 볼륨 그룹에 추가할 수 있도록 준비합니다.

sudo vgextend debian-vg /dev/sdb /dev/sdc /dev/sdd

debian-vg볼륨 그룹 에 추가됩니다 .

sudo vgs현재 VFree 크기가 얼마나 되는지 다시 확인하세요 !

datavolume공간의 절반을 사용하는 새로운 논리 볼륨을 생성해 보겠습니다 .

sudo lvcreate -n datavolume -l 50%FREE debian-vg

이제 sudo lvs이것이 표시되고 sudo vgs사용되지 않은 공간의 감소가 표시됩니다.

XFS를 사용하여 새 볼륨을 포맷해 보겠습니다.

sudo mkfs.xfs /dev/debian-vg/datavolume

이런! 아직 프로그램 을 설치하지 않았기 때문에 실패합니다 mkfs.xfs.

sudo apt update
sudo apt install xfsprogs

다시 해보자:

sudo mkfs.xfs /dev/debian-vg/datavolume

그러면 효과가 있을 것입니다. 새로운 디렉토리를 만들어보자저장된 파일에 액세스할 수 있는 볼륨:

mkdir -p /srv/data

달리기 sudo nano /etc/fstab. 행 추가

/dev/mapper/debian--vg-datavolume   /srv/data    xfs  noatime 0 0

저장( Ctrl+ o)하고 종료( Ctrl+ x)합니다. sudo mount --all이제 설치가 진행됩니다. 시작 시 자동으로 발생합니다.

앞서 논의한 것처럼 정기적으로 데이터 중복을 제거하려고 합니다. 따라서 설치자 duperemove( sudo apt install duperemove). 다음과 같이 수동으로 실행할 수 있습니다.

sudo duperemove -rd --hashfile=/var/lib/data-deduplication.db /srv/data

현재 인덱싱되지 않은 모든 콘텐츠를 반복하고 /srv/data, 모든 블록의 해시를 파일에 쓰고 /var/lib/data-deduplication.db(따라서 다음에 실행할 때 전체 스캔을 수행할 필요가 없습니다!), 해시를 비교하고 Linux에서 확인하도록 합니다. 그 내용은실제로해시뿐만 아니라 동일하고 중복을 제거합니다.

이 명령을 systemd 서비스 파일에 넣고 systemd 타이머에서 사용하여 일주일에 한 번 또는 1시간 동안 활동이 없으면 수행할 수 있지만 솔직하게 말씀드리자면 제 답변은 약간 길었습니다. 다가오는 시간. 이 자동화가 흥미롭다면 새로운 질문을 해보세요(" duperemove…일주일에 한 번씩 어떻게 실행하나요?" 및 이 답변에 대한 링크 포함).

Windows 클라이언트 연결 방법에 관해: 여기서 일반적인 접근 방식은 Windows 공유를 얻을 수 있도록 Samba를 설정하는 것입니다. 어렵지는 않지만 이미 많은 내용이 다루어졌습니다. 공유해야 하는 하위 디렉터리입니다 /srv/data. (또한 질문도 환영합니다.)

백업 목적으로만 사용되는 경우 다음과 같은 다른 옵션이 있습니다.조화사람들은 이를 매우 성공적으로 사용하고 있으며 SSH를 통해 서버에 직접 로그인하고 삼바를 설정할 필요가 없습니다. 그것은 주로 귀하의 필요에 따라 다릅니다.

관련 정보