> 운영 및 유지보수 > 리눅스 운영 및 유지 관리 > bcache 모듈 구성을 위한 예제 튜토리얼

bcache 모듈 구성을 위한 예제 튜토리얼

零下一度
풀어 주다: 2017-07-17 11:35:52
원래의
3294명이 탐색했습니다.

1. 전제조건: 커널에 bcache 모듈이 구성되어 있어야 합니다.

1.1 확인

  - 커널에 존재하는지 여부: /sys/fs/bcache 디렉터리가 존재하는지 확인합니다. 커널에 bcache가 없다는 뜻은 아닙니다

   - 커널 모듈로 존재하는지 여부: /lib/modules/<$version>/kernel/drivers/md/bcache 디렉토리가 존재하는지 확인하세요. 존재하지 않으면 bcache 커널 모듈이 없다는 의미입니다

  - 위의 두 단계 이후에 둘 다 확인된 경우 그렇지 않은 경우 커널이 bcache를 컴파일하도록 구성되지 않았음을 의미하므로 직접 새 커널을 구성하고 컴파일해야 합니다( 커널을 다운로드할 때 버전에 주의해야 하며, bcache 기능은 3.10 버전 이상에서만 사용할 수 있습니다)

1.2 새 커널 컴파일

$ wget ""                    $ rpm2cpio ./kernel-3.10.0-514.el7.src.rpm | cpio -idmv    //提取rpm包内容,获取内核:linux-3.10.0-514.el7.tar.xz$ make menuconfig        //内核配置     Device Drivers 
         ->Multiple devices driver support (RAID and LVM)             -><*> Block device as cache
$ make bzImage (V=1)     //编译内核$ make modules        //编译内核模块$ make modules_install      //拷贝内核模块的.ko文件到/lib/modules下$ make install              //拷贝initrd和bzImage到boot目录下,并修改开机启动配置文件$ reboot                    //重启,根据菜单选择对应内核版本进入
로그인 후 복사


2. 컴파일 및 설치

//获取bcache-tools工具(以下两个网址任选其一)$ git clone http://evilpiepirate.org/git/bcache-tools.git$ git clone https://github.com/g2p/bcache-tools.git//安装前需要两个依赖包pkg-config和libblkid-dev$ yum -y install pkg-config libblkid-dev//编译安装bcache-tools$ make$ make install
로그인 후 복사

3. 배포 방법

3.1 BCache 장치 생성

$ -bcache -C <cache-device> -B <backing device>--B     -C     -     -b    结果:有几个backing device就会对应生成几个/dev/
로그인 후 복사
  
로그인 후 복사
로그인 후 복사
 <br>
로그인 후 복사
로그인 후 복사

예: 기본 블록 및 버킷 크기는 512B 및 128kB입니다. 블록 크기는 일반적으로 512 또는 4k인 백업 장치 섹터 크기와 일치해야 합니다. 예를 들어, HDD를 사용하여 쓰기 증폭을 줄이려는 의도로 캐시 장치의 삭제 블록 크기와 일치해야 합니다. 4k 섹터와 삭제 블록 크기가 2MB인 SSD의 경우 이 명령은 다음과 같습니다

# make-bcache --block 4k --bucket 2m -C /dev /sdy

3.2 백업 장치 추가

  - 1. 백엔드 장치 생성

  $ make-bcache -B <backing-device>
  结果:生成对应的设备/dev/bcache<n>
로그인 후 복사

 - 2. 백엔드 장치 연결

  $  -la /sys/fs/bcache          $  <CSET-UUID> > /sys/block/bcache<n>/bcache/
로그인 후 복사
  
로그인 후 복사
로그인 후 복사
 <br>
로그인 후 복사
로그인 후 복사

3.3 백엔드 장치 삭제

   - 1. 백업 장치 분리

  $  -la /sys/fs/bcache/          $  <CSET-UUID> > /sys/block/bcache<n>/bcache/
로그인 후 복사

- 2. 백엔드 장치 삭제

  $   > /sys/block/bcache<N>/bcache/
로그인 후 복사

3.4 캐싱 장치 추가(캐싱 장치)

 -1. 캐시 생성 device

  $ make-bcache -C <cache device>  结果:在/sys/fs/bcache目录下生成对应的CACHE SET UUID
  注意:有可能设备本身有残余数据,需要使用wipefs清理掉
  $ wipefs -a /dev/sda
로그인 후 복사
    

   -2. bcache 장치 연결, 연결

  $ echo <CSET-UUID> > /sys/block/bcache<n>/bcache/attach
  解释:通过后端设备attach缓存设备,cache device才能开始缓存,backing   device才能被缓存
로그인 후 복사

3.5 캐시 장치 삭제

전제: 백업 장치를 사용하고 있지 않은지 확인하십시오. lsblk를 통해 확인)
설명: - 캐시 장치의 존재는 /sys/fs/bcache 디렉터리에 해당하는 캐시 세트 uuid를 통해 알 수 있습니다.
                - uuid를 등록 해제한 후 캐시 장치는 삭제된 것으로 간주됩니다

$ echo 1 > /sys/fs/bcache/<cache set uuid>/unregister
结果:再看/sys/fs/bcache目录下就没有这个cache设备的uuid了
로그인 후 복사

3.6 bcache 포맷 및 4.1 실행 상태 확인

$ mkfs.xfs /dev/bcache<n>            //格式化设备为xfs文件系统$ mount /dev/bcache<n>  /mnt       //挂载设备到/mnt目录进行访问
로그인 후 복사

캐시 없음: 이 백업 장치에는 캐싱 장치가 연결되어 있지 않습니다. 장치 [통과 모드]).

clean: 모든 것이 정상이며 캐시가 깨끗합니다.

dirty: 이는 모든 것이 제대로 설정되었고 쓰기 저장이 활성화되었으며 캐시가 더러워졌음을 의미합니다.

일관되지 않음: 백그라운드 장치가 캐시 장치와 동기화되지 않아 문제가 발생합니다.
  • 4.2 캐시된 데이터의 양 보기

  • $ cat /sys/block/bcache<n>/bcache/state
    로그인 후 복사

  • 4.3 캐시 모드 보기/설정

$ cat /sys/block/bcache<n>/bcache/dirty_data
로그인 후 복사

4.4 장치 정보 인쇄

// 设置缓存模式(默认writethrough)$ echo <cache mode> > /sys/block/bcache<N>/bcache/cache_mode// 查看缓存模式$ cat /sys/block/bcache<N>/bcache/cache_mode
 [writethrough]    writeback        writearound    none
로그인 후 복사

4.5 구성 정보

  • 지원 장치는 /sys/block/bcache/bcache/ 디렉터리에 있습니다.

  • 캐시 장치는 /sys/fs/bcache/

/sys의 구성 정보에 대한 변경 사항은 일시적이며 다시 시작하면 무효화됩니다. 시작 시 현재 구성을 설정하려면 /etc/tmpfile.d/에 conf 구성 파일을 만들어야 합니다(예: /etc/tmpfile.d/my-bcache.conf:

w /sys/). block/ bcache0/bcache/ential_cutoff - - - - 1
w /sys/block/bcache0/bcache/cache_mode - - - - writeback
(지속적인 방식으로 bcache0의 순차 차단을 1MB로 설정하고 다시 쓰기 위해 )

위 내용은 bcache 모듈 구성을 위한 예제 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿