최근에 설치했어요ZFS가 포함된 우분투 20.04파일 시스템으로. RAM/스왑 영역을 확인했는데 다음과 같습니다.
qallaf89@desktop:~$free-h 사용 가능한 총 무료 공유 버퍼/캐시 수 메모리: 31Gi 22Gi 4.1Gi 1.9Gi 4.2Gi 6.0Gi 교환: 2.0Gi 0B 2.0Gi
이제 스왑 공간을 정상적으로 늘리려면 다음을 따르십시오.이 튜토리얼은 Digital Ocean에서 제공됩니다.완벽하게 작동합니다. 그러나 ZFS가 있기 때문에 몇 가지 문제가 있습니다.
qallaf89@desktop:~$ sudo fallocate -l 100G /swapfile Fallocate: Fallocate 실패: 작업이 지원되지 않습니다.
주위를 둘러보니 확실히 그런 게 있는 것 같았어요.ZFS/fallocate() 관련 문제.
나도 겪었어이 문서는 오라클에서 제공됩니다.그러나 이것은 나에게도 효과가 없었습니다.
qallaf89@desktop:~$ 스왑 -l 'swap' 명령을 찾을 수 없습니다. 다음을 의미합니까? deb systemtap의 "stap" 명령(4.2-3) deb DVB-apps의 "szap" 명령(1.1.1+rev1500-1.2) debsoapaligner(2.20-3)의 "soap" 명령 deb sway의 'sway' 명령(1.4-2) deb slurm-client(19.05.5-1)의 "smap" 명령 deb secure-delete(3.1-6ubuntu2)의 "sswap" 명령 deb snapd의 "snap" 명령(2.44.3+20.04) debuckless-tools의 "swarp" 명령(44-1) deb odin(2.0.3-2build1)의 "swab" 명령 시도해 보세요: sudo apt install <deb 이름> qallaf89@desktop:~$ sudo apt 쇼 교환 N: 교환된 패킷을 찾을 수 없습니다. N: 교환된 패킷을 찾을 수 없습니다. 두번째:패키지를 찾을 수 없습니다
이에 대한 지식이 있는 사람이 스왑 공간을 늘리는 데 도움을 줄 수 있습니까?
답변1
이것은 ArchWiki에서 나온 것입니다.https://wiki.archlinux.org/index.php/ZFS#Swap_volume:
- "getconf PAGESIZE"는 무엇을 의미합니까? 즉, 메모리 시스템의 기본 메모리 페이지 크기입니까?
- 스왑용 zfs 볼륨 생성
- 교환 준비 완료
- 교환을 시작하다
- etc/fstab에서 스왑용으로 표시하십시오(zfs 속성 덕분에 이 작업을 자동으로 수행하는 것이 전적으로 가능합니다.)
그래서:
zfs create -V 8G -b $(getconf PAGESIZE) \
-o logbias=throughput -o sync=always\
-o primarycache=metadata \
-o com.sun:auto-snapshot=false rpool/swap
mkswap -f /dev/zvol/rpool/swap
swapon /dev/zvol/rpool/swap
특히 디스크 자체가 SSD인 경우 logbias=thr.., Primarycache=meta 및 '-o com.sun...'이 적절한지 잘 모르겠습니다. 어느 쪽이든 이는 8GB의 큰 zfs 볼륨을 생성합니다.
etc/fstab에서:
/dev/zvol/rpool/swap none swap discard 0 0
ZFS 관련: 더 많은 디스크를 고려하고 찾아야 하며 설정의 가용성을 얻으려면 미러를 추가하는 방법에 대해 생각해야 합니다. 1TB 삼성 SSD를 잃어버리면 풀 전체가 망가집니다.
sda5 소개:zpool 관리 부분FreeBSD 매뉴얼에는 vdev를 미러 쌍으로 변경하는 방법이 설명되어 있습니다.
이 경우:
- sda5 교환
- 최종 클리어 태그
- vdev 다시 연결
- 재실버링을 기다리고 있습니다.
- 런처 추가
그래서:
swapoff /dev/sda5
zpool attach bpool sda5 sda6
그리고 재실버링을 기다립니다.
답변2
ZFS 파일 시스템에서는 시도하지 않았지만 ext3, ext3, ext4, XFS 및 기타 여러 시스템에서는 시도했습니다. 라이브 USB 스틱에서 부팅하고 "설치하지 않고 Ubuntu 사용해 보기"를 선택하고 일단 실행되면 이를 사용하여 gparted
파티션 크기를 조정할 수 있습니다. 파티션을 확장하여 충분한 공간을 확보하려면 파티션을 축소해야 합니다 swap
. 이것가이드매우 도움이 됩니다. "GParted 사용"까지 아래로 스크롤하세요. 도움이 될 보다 포괄적인 매뉴얼이 필요한 경우여기에서 하나 찾아보세요. 아래로 스크롤하여 "파티션 크기 조정"
답변3
나는 전에 그것을 사용했다systemd-swap
패키지는 약간의 성공을 거두었습니다(지금까지는 아치에서만). 이는 필요할 때 디렉터리 내에서 스왑 파일을 동적으로 할당하므로 여유 공간을 차지하는 큰 ZVOL을 풀에 유지할 필요가 없습니다. 그것이 얼마나 성능이 좋은지는 잘 모르겠고 다른 사람들이 내가 여기서 할 수 있는 것보다 더 많은 정보를 제공할 수 있을 수도 있습니다. 그러나 저는 새 파일 시스템을 만들고 위와 com.sun:auto-snapshot
같이 속성을 설정했습니다 false
. 이렇게 하면 특정 유틸리티가 스냅샷을 생성하는 것을 방지할 수 있지만 그렇게 하지 않았습니다. 수동으로 생성된 스냅샷이 아직까지 남아 있다는 사실을 아직 깨닫지 못했기 snapshot -r
때문에 곧 이 작업을 수행할 수 있는 더 나은 방법을 찾아볼 것입니다! 그러나 일반적으로 이 데이터 세트에 대해 스냅샷이 생성되지 않도록 하고 속도와 공간 절충점(해당하는 경우)을 달성하도록 시나리오를 조정하려고 합니다. 그러면 당신은 원할 것입니다systemd-swap 구성 파일을 가리킵니다.이 데이터 세트의 장착 지점을 향합니다.