나는 노력하고 있습니다 사람이 설치 및 빌드 자신의 커널 실행이 있는지 알고 싶어 flashcache 또는 Bcach 읽기 SSD 캐싱을?
어떻게 관리 했습니까?
나는 노력하고 있습니다 사람이 설치 및 빌드 자신의 커널 실행이 있는지 알고 싶어 flashcache 또는 Bcach 읽기 SSD 캐싱을?
어떻게 관리 했습니까?
답변:
글쎄, 우리는 bcache 답변을 얻었지만 flashcache 답변은 얻지 못했습니다. 기존 설치가 이미 있으므로 flashcache를 선택했기 때문에 bcache는 문제가되지 않았습니다. 나에게도 설정하는 것이 더 쉬워 보였다. 커널 업그레이드를 할 때마다 DKMS 방법을 선택하여 모듈 / 도구를 다시 작성하는 데 걸리지 않았습니다.
이 단계는 Github의 README-DKMS 에 요약되어 있습니다.
모듈 구축
가장 먼저해야 할 일은 건물 전제 조건을 설치하는 것입니다.
sudo apt-get install dkms build-essential linux-headers-$(uname -r) git
그런 다음 소스를 빼십시오.
git clone git://github.com/facebook/flashcache; cd flashcache
모듈을 빌드하고 설치하십시오.
make -f Makefile.dkms
플래시 캐시 장치 만들기
(이 예제에서는 writeback caching (기본값)을 사용하지만 flashcache는 writearound 및 writethrough도 수행 할 수 있습니다)
비 루트 (/에 마운트되지 않은) 장치 캐싱
sudo flashcache_create -p back fcache /dev/sdbX /dev/sdaX
fcache가 생성 된 장치 (/ dev / mapper / fcache) 인 경우 / dev / sdaX는 SSD 파티션 (또는 전체 디스크)이고 / dev / sdbX는 HDD 파티션입니다.
루트 장치 캐싱
루트 장치를 캐싱하는 경우 몇 가지 단계가 더 있습니다. 이 섹션에는 Ubuntu LiveCD / USB가 필요합니다.
cd /path/to/flashcache/source
make -f Makefile.dkms boot_conf
/boot/grub/grub.cnf 및 / etc / fstab을 편집하여 / dev / mapper / fcache에서 부팅합니다 (이 단계가 실제로 필요한 것은 아니지만 믿습니다). 원래 루트 장치의 UUID를 기록해 두십시오.
LiveCD / LiveUSB로 재부팅하십시오.
루트 장치를 마운트하십시오 : mount /dev/sda4 /mnt
(/ dev / sda4는 내 리눅스 루트 파티션입니다)
cd /mnt/path/to/flashcache/source
sudo apt-get install dkms build-essential linux-headers-$(uname -r)
make; sudo make install
실제 환경에서 전체 DKMS 설정을 수행 할 필요가 없습니다.
루트 장치 마운트 해제 sudo umount /mnt
sudo flashcache_create -p back fcache /dev/sdbX /dev/disk/by-uuid/[UUID]
fcache가 생성 된 장치 (여기서는 / etc / fstab 및 /boot/grub/grub.cnf에 입력 한 것과 동일해야 함), / dev / sdbX는 SSD 파티션 (또는 전체 디스크)입니다. ) 및 [UUID]는 루트 파티션의 UUID입니다.
재부팅하십시오!
루트 장치 사용시주의 사항
플래시 캐시가 루트 장치에 사용될 때 사소한 불편은 grub-probe가 루트 장치를 감지하지 못하고 부트 메뉴를 엉망으로 만들어 두 개의 우분투 전체를 가질 수 있다는 것입니다. 그러나 make -f Makefile.dkms boot_conf
위 의 단계는 플래시 캐시 장치를 감지하고 사용하는 initrd에 일부 스크립트를 설치하기 때문에 실제로 사용하는 것은 중요하지 않습니다 .
linux /boot/vmlinuz-3.19.0-51-lowlatency root=UUID=0a540b91-5990-4df0-bc99-5d6e2cd3fed6 ro recovery nomodeset
to linux /boot/vmlinuz-3.19.0-51-lowlatency root=/dev/mapper/fcache ro recovery nomodeset
(즉, root = 매개 변수 변경)
기존 장치에서 bcache를 활성화하기위한 변환 도구가 있습니다 (공개 : 작성했습니다). 현재 배포판 설치 프로그램은 bcache 장치를 만드는 방법을 모르기 때문에 (새로 설치하는 경우 시작) 새로 설치를 진행하는 방법이기도합니다.
지침 은 README 에서 루트 파일 시스템을 bcache로 변환을 참조하십시오 blocks
.
bcache는 Linux 3.10 이상을 필요로하며, Linux 3.0은 최신 버전이며 http://kernel.ubuntu.com/~kernel-ppa/mainline/?C=M;O=D 에서 수동으로 설치할 수 있습니다
(최신 태그 릴리스를 찾으십시오) , 현재 v3.11.5-saucy
, 아키텍처와 일치하는 뎁을 설치하십시오).
bcache-tools
및 blocks
설치할 수 있습니다 내 저장 PPA .
/
, /home
, /usr/
시스템이 실행되는 동안 (maintboot가 고장으로) ...을). 다른 방법으로 라이브 USB 스틱을 사용하여 설치 blocks
하고 디스크를 변환하는 데 사용할 수 있습니다. 그러나이 도구는 기본 MBR 및 GPT 파티션 테이블에서만 작동하며 각 파티션 앞에 1MiB의 추가 공간이 필요합니다.
사전 경고 : 기존 Ubuntu 설치에 bcache를 사용할 수 없습니다. 운영 체제에 SSD 캐싱이 필요한 경우 SSD 캐시를 설정할 수있는 향후 또는 특수 버전의 Ubuntu 설치 프로그램이 나올 때까지 기다려야합니다. 여기에서 Oli의 답변을보십시오 : bcache를 새로 설치해야합니까?
비 OS 데이터에 대한 bcache 드라이브를 원하는 다른 모든 사람 :
커널 메인 라인 PPA를 사용하여 13.04 이상을 사용하는 경우 가장 먼저 커널을 업그레이드하십시오. 이것을 사용하는 방법은 여기에서 찾을 수 있습니다 :
https://wiki.ubuntu.com/Kernel/MainlineBuilds
부팅 할 때 3.9 이상의 커널을 선택해야합니다. 그렇지 않으면 작동하지 않으며 드라이브가 사라집니다.
git 저장소에서 설치해야 할 시점에 bcache-tools를 설치하십시오.
git clone http://evilpiepirate.org/git/bcache-tools.git
bcache-tools
데비안 용 패키지 를 관리하는 경우 알려 주시면이 질문이 업데이트됩니다. ( bcache-tools
의 종속성이 구축 uuid-dev
하고 libblkid-dev
. 그들은이 설치되어 있어야합니다, 건설 bcache-tools
.)
모든 도구가 준비되면 여기에서 가이드를 따라갈 준비가되었습니다.
http://atlas.evilpiepirate.org/git/linux-bcache.git/tree/Documentation/bcache.txt
이 안내서는 드라이브를 포맷하고 (SSD AND 하드 드라이브) bcache를 사용하여 새로운 장치 블록을 만들기 위해 함께 연결 하는 방법을 보여줍니다 . 지침이 혼란 스러우면 의견을 게시하고 단순화하여이 답변을 업데이트하겠습니다.
나는 여기에 와서 새로운 커널을 설치할 때 어떤 일이 일어 났는지에 대해 언급 할 것이라고 생각했다. / home / 폴더 파티션에만 flashcache를 사용하고있었습니다. 새 커널을 설치하고 부팅하여 부팅하는 동안 중지했으며 / dev / mapper / home_cached를 찾을 수 없다고 말했으며이 메시지를받을 때 선택할 수있는 3 가지 옵션이 있으며 루트로 로그인하는 옵션을 선택합니다. 그것을 고치십시오. 먼저 플래시 캐시 모듈을로드하려고 시도했지만 찾을 수 없다고 말했습니다. 그래서 방금 설치 한이 새로운 커널을 위해 컴파일하고 설치해야한다고 생각했습니다. 나는 여전히 / flashcache / 폴더를 / root / 내에 위치 시켰으므로 CD에 넣고 실행했다.
make -f Makefile.dkms boot_conf
그때 나는 달렸다
make install
그런 다음 플래시 캐시 모듈을
modprobe flashcache
그런 다음 기존 플래시 캐시 장치를로드해야했습니다.
flashcache_load /dev/sdb1
그런 다음 홈 파티션을 마운트하십시오.
mount /home
그런 다음 명령 행에서 exit를 사용하여 root로 로그인하지 않고 종료하면 정상적으로 부팅됩니다. 다 했어요!