Data Domain: Boostfs 설치, 구성 및 마운트 문제를 해결하는 방법
Summary: 이 문서는 사용자가 몇 가지 일반적인 BOOSTFS 설치 및 구성 문제를 식별하고 해결하는 데 도움이 됩니다.
Symptoms
BOOSTFS는 일부 운영 체제에 설치할 수 있는 소프트웨어 구성 요소로, 특정 백업 애플리케이션을 사용하지 않고 Data Domain으로 BOOST 백업을 실행하는 동시에 Netbackup, Networker 및 Avamar와 같은 BOOST 지원 백업 애플리케이션을 사용할 때 제공되는 일부 기능을 활용할 수 있습니다.
"요점" 설치 및 활용도에 대한 자세한 내용은 다음 Data Domain: DataDomain BOOST FS에 대한 신속한 구성 단계 및 세부 정보 KB 문서.
그러나 이 KB에는 BOOSTFS를 구성하고 사용할 때 발생할 수 있는 몇 가지 일반적인 문제가 포함되어 있어 고객이 이러한 일반적인 오류, 오류 메시지 및 해결 방법을 빠르게 참조할 수 있습니다. 일반적인 오류로는 "Linux 서버에 Boostfs를 설치할 수 없음", "오류로 인해 Boostfs 마운트 실패" 또는 "오류로 인해 백업 또는 복원 실패" 등이 있습니다.
Resolution
1. BOOST FS 소프트웨어
설치 시 필요한 종속성이 누락되었습니다.클라이언트 Linux 운영 체제에 제공된 BOOSTFS 소프트웨어 RPM을 설치하지 못한 경우 먼저 BOOSTFS 소프트웨어에 필요한 패키지 종속성을 확인합니다.
# rpm -qpR DDBoostFS-1.0.0.1-539441.rhel.x86_64.rpm >퓨즈 = 2.8 퓨즈 libs >= 2.8 /bin/sh /bin/sh /bin/sh /bin/sh rpmlib(페이로드 파일 접두사) <= 4.0-1 rpmlib(압축된 파일 이름) <= 3.0.4-1
위의 예에서 패키지는 FUSE(USEr 공간의 Filesystem) 바이너리 및 라이브러리(BOOSTFS는 Linux의 FUSE를 기반으로 함)와 셸(sh) 및 기본 RPM 라이브러리를 제공하는 모든 패키지를 설치하도록 요청합니다. 따라서 이 BOOSTFS 패키지는 "rpm"이 실행된 Linux 시스템에 정상적으로 설치되어야 합니다.
2. /mnt/mountpoint/를 마운트할 수 없음: 예기치 않은 오류
BOOSTFS를 통해 원격 DD 스토리지 유닛을 Linux 클라이언트에 로컬로 마운트하려고 하면 위의 오류가 발생할 수 있습니다. Linux 클라이언트에서 BOOSTFS 로그 파일을 검토합니다. 예를 들어 아래의 첫 번째 예에서 Lockbox 파일에는 호스트 dd2500-abc.datadomain.com 에 대한 항목이 포함되어 있지 않습니다.
# less /opt/emc/boostfs/log/ddboostfs_0_0.log Jul 29 03:45:25 22795 3267069888 [E] bfs_lockbox_get_user_info: 구성 파일 /opt/emc/boostfs/lockbox/boostfs.lockbox에서 키 항목 dd2500-abc.datadomain.com:LSU2를 찾지 못했습니다. 요청한 Lockbox 항목을 찾을 수 없습니다. Jul 29 03:45:25 22795 3267069888 [E] bfs_conn_lookup : 노드 0 파일 / .boostfs_sysinfo에 대한 연결 조회에 실패했습니다. (0명) Jul 29 03:45:25 22795 3267069888 [I] bfs_node_lookup : 파일 / .boostfs_sysinfo에 대한 연결을 얻지 못했습니다. Jul 29 03:45:25 22795 3267069888 [E] bfs_initialize_mntopts : 초기화 실패
이 경우의 해결 방법은 로컬로 마운트할 대상 DD 호스트 및 스토리지 유닛에 대한 Lockbox 항목을 추가하는 것입니다. 구문은 아래 예와 유사합니다.
# /opt/emc/boostfs/bin/boostfs lockbox set -u sysadmin -d dd2500-abc.datadomain.com -s LSU2 스토리지 유닛 사용자 비밀번호 입력: 스토리지 유닛 사용자 암호를 다시 입력하여 확인합니다. Lockbox 항목 집합
로컬 BOOSTFS 클라이언트 로그에서 볼 수 있는 또 다른 가능한 오류는 클라이언트에서 확인되지 않는 DD 호스트 이름입니다. 예:
# less /opt/emc/boostfs/log/ddboostfs_0_0.log Jul 29 04:05:50 22882 3322156992 [E] bfs_conn_open : 연결 실패 (0 연결) : 5037 Jul 29 04:05:50 22882 3322156992 [E] bfs_conn_lookup : 노드 0 파일 / .boostfs_sysinfo에 대한 연결 조회에 실패했습니다. (0명) Jul 29 04:05:50 22882 3322156992 [I] bfs_node_lookup : 파일 / .boostfs_sysinfo에 대한 연결을 얻지 못했습니다. Jul 29 04:05:50 22882 3322156992 [E] bfs_initialize_mntopts : 초기화 실패
이 경우의 해결 방법은 Linux 클라이언트의 /etc/host 파일에 대한 IP 매핑에 정적 수신을 추가하거나 사용 중인 DNS 서버에서 매핑을 구성하는 것입니다.
3. /mnt/mountpoint 마운트 지점이 비어 있지 않습니다.
비어 있지 않은 마운트 지점에는 BoostFS를 마운트할 수 없습니다. 빈 마운트 지점에 마운트해 보십시오.
위의 메시지는 지정된 마운트 지점(/mnt/mountpoint)을 사용하여 원격 DD 스토리지 유닛을 표시할 수 없음을 의미합니다. 마운트 지점에는 이전에 마운트된 다른 파일 시스템이 없거나 콘텐츠가 있을 수 없기 때문입니다. /mnt/mountpoint/는 Linux 클라이언트에서 사용되지 않는 빈 디렉토리여야 합니다. 경로에 이미 마운트가 있는 경우 다른 마운트 지점을 지정해야 합니다. 예:
# 마운트 /dev/mapper/vg00-lv_root 켜기 / 유형 ext4(rw) /boot 유형 ext4(RW)의 /dev/sda1 BoostFS on /mnt/mountpoint type fuse.boostfs(rw,nosuid,nodev)
이 경우 원격 DD 스토리지 유닛은 이미 /mnt/mountpoint/ 아래에 마운트되어 있으므로 동일한 디렉토리에 다시 마운트할 수 없습니다.
4. DDBoostfs 마운트 중단(복귀하는 데 10분 이상 걸릴 수 있음)
이 문제는 Linux 클라이언트와 타겟 DD 디바이스 사이의 방화벽이 TCP 포트 111 및 2049로 트래픽을 삭제할 때 발생할 수 있습니다. Linux 클라이언트가 DD에서 TCP 포트 111 및 2049에 연결할 수 있는지 확인한 후 다시 시도합니다. 예를 들면 다음과 같습니다.
# /opt/emc/boostfs//bin/boostfs mount -d dd2500.domain.com -s LSU2 /mnt/mountpoint/
다음은 다음과 같은 경우 Linux 클라이언트 BOOSTFS 로그에 표시되는 내용의 예입니다.
# less /opt/emc/boostfs/log/ddboostfs_0_0.log Jul 27 06:34:53 32762 3724339136 [E] bfs_conn_open : 연결 실패 (0 연결) : 5037 Jul 27 06:34:53 32762 3724339136 [E] bfs_conn_lookup : 노드 0 파일 / .boostfs_sysinfo에 대한 연결 조회에 실패했습니다. (0명) Jul 27 06:34:53 32762 3724339136 [I] bfs_node_lookup : 파일 / .boostfs_sysinfo에 대한 연결을 얻지 못했습니다. Jul 27 06:34:53 32762 3724339136 [E] bfs_initialize_mntopts : 초기화 실패
5. 마운트 지점 아래에 콘텐츠를 액세스하거나 나열하려고 할 때 작업이 허용되지 않습니다.
# ls -l /mnt/mountpoint/ ls : 읽기 디렉토리 .: 허용되지 않는 작업 합계 0
원격 DD 포트 111 및 2049에 대한 TCP 연결이 없거나 Lockbox 인증이 만료된 것이 문제일 수 있습니다. Linux 클라이언트가 지정된 포트에서 DD에 연결할 수 있는지 확인하고 원격 DD, 스토리지 유닛 및 BOOST 사용자에 대한 Lockbox를 다시 설정해 보십시오.
6. Kerberos 인증을 사용하여 또는 스토리지 유닛에 대한 액세스 권한이 충분하지 않습니다.
# boostfs mount -s LSU3 -d dd2500.domain.com /mnt/mountpoint/ 액세스 부족 또는 스토리지 유닛 LSU3이 없습니다.
Lockbox에 Kerberos 인증을 사용하는 경우 오류가 발생할 가능성이 가장 높은 원인은 kerberos 인증 티켓이 만료되었기 때문입니다. 아래와 같이 Linux에서 언급 된 티켓을 확인하십시오.
# /opt/emc/boostfs/bin/boostfs kerberos query -s LSU3 -u username 클라이언트 보안 주체: username@DOMAIN.COM 유효 시작: 화 8 월 23 11:02:49 2016 만료: 화 8 월 23 21:01:07 2016 갱신 기한: 화 8 월 30 11:02:49 2016 서비스 주체: krbtgt/DOMAIN. COM@DOMAIN.COM
DDR에서 Lockbox를 설정하고 Boostfs를 마운트할 때 스토리지 유닛에 할당된 BOOST 사용자가 Linux 클라이언트의 사용자와 일치하는지 확인합니다(AD 사용자 이름 및 스토리지 유닛 사용자 이름은 정확히 동일해야 함).
# ddboost storage-unit show Name Pre-Comp (GiB) Status User Report Physical Tenant-Unit 크기(MiB) --------------- -------------- ------ -------- --------------- ----------- LSU3 0.0 RW 사용자 이름 - - --------------- -------------- ------ -------- --------------- -----------
또한 DD, Linux 클라이언트 및 AD(Kerberos Server)의 날짜/시간 간격이 5분 이하인지 확인해야 합니다. 그렇지 않으면 일정하지 않은 시간으로 인해 티켓이 만료되는 문제가 발생할 수 있습니다.
다음은 시간 차이가 5분 이상인 경우 DD 로그에 표시되는 내용의 예입니다.
# log watch debug/ddfs.info 08/23 18:52:09.654(tid 0x7f738141fb00): 10.64.229.125:55042에서 NFS3 수락됨 3000004b6 552 08/23 18:52:09.660(tid 0x7f738140c890): [dd_rpc2_nfs x3000004b6] dd_rpc_gss_print_error:117 - 이벤트 gss_error, gss_accept_sec_context 실패: maj=0xd0000, min=0x96c73a25 08/23 18:52:09.660(tid 0x7f738140c890): [dd_rpc2_nfs x3000004b6] dd_rpc_gss_print_error:126 - 이벤트 gss_error, 지정되지 않은 GSS 오류입니다. 부 코드는 더 많은 정보를 제공할 수 있습니다. 08/23 18:52:09.660(tid 0x7f738140c890): [dd_rpc2_nfs x3000004b6] dd_rpc_gss_print_error:141 - 이벤트 gss_error, 클록 스큐가 너무 큼 08/23 18:52:09.660(tid 0x7f738140c890): [dd_rpc2_nfs x3000004b6] dd_rpc_gss_accept:217 - 이벤트 gss_accept_failed, maj=851968, min2529638949 08/23 18:52:09.660(tid 0x7f73814233f0): nfs3 삭제됨 tcp 3000004b6
다음은 BOOSTFS Linux 호스트 로그용입니다.
# less /opt/emc/boostfs/log/ddboostfs_0_0.log 8 월 23 일 18:04:39 1044 2019465280 [E] bfs_conn_open : 연결 실패 (0 연결) : 5075 8 월 23 일 18:04:39 1044 2019465280 [E] bfs_conn_lookup : 노드 0 파일 / .boostfs_sysinfo에 대한 연결 조회에 실패했습니다. (0명) 8 월 23 일 18:04:39 1044 2019465280 [I] bfs_node_lookup : 파일 / .boostfs_sysinfo에 대한 연결을 얻지 못했습니다. 8 월 23 일 18:04:39 1044 2019465280 [E] bfs_initialize_mntopts : 초기화 실패
7. Kerberos 인증을 사용한 Boostfs 마운트가 실패하고 "Lockbox에 액세스할 수 없거나 Lockbox 항목을 찾을 수 없습니다" 오류가 표시됨
# /opt/emc/boostfs/bin/boostfs mount -s LSU3 -d dd2500.domain.com /mnt/mountpoint/ Lockbox에 액세스할 수 없거나 Lockbox 항목을 찾을 수 없음
"/opt/emc/boostfs/etc/boostfs.conf"에서 BOOSTFS 구성 옵션을 사용하려면 파일에서 "[global]" 설정을 확인하고 주석 처리되지 않았는지 확인합니다(전역 옵션이 작동하려면 키워드 "[global]"의 주석 처리를 제거해야 함). 이 키워드는 기본적으로 주석 처리됩니다.
BOOSTFS "/opt/emc/boostfs/etc/boostfs.conf" 구성 파일의 내용 예:
# 옵션 값 쌍 뒤에는 주석이 허용되지 않습니다. # ############################################################################# [글로벌] # Data Domain Hostname or IP address # data-domain-system=dd2500.domain.com
Linux 클라이언트 BOOSTFS 로그에 표시되는 출력 예는 다음과 같습니다.
# less /opt/emc/boostfs/log/ddboostfs_0_0.log 8 월 24 일 08:23:35 27227 3565582272 [E] bfs_lockbox_get_user_info : 구성 파일 /opt/emc/boostfs/lockbox/boostfs.lockbox에서 키 항목 dd2500-rtp2.techsupp.local:LSU3를 찾지 못했습니다. 요청한 Lockbox 항목을 찾을 수 없습니다. 8 월 24 일 08:23:35 27227 3565582272 [E] bfs_conn_lookup : 노드 0 파일 / .boostfs_sysinfo에 대한 연결 조회에 실패했습니다. (0명) 8 월 24 일 08:23:35 27227 3565582272 [I] bfs_node_lookup : 파일 / .boostfs_sysinfo에 대한 연결을 얻지 못했습니다. 8 월 24 일 08:23:35 27227 3565582272 [E] bfs_initialize_mntopts : 초기화 실패
또한 이 오류는 Lockbox 설정에 사용된 것과 다른 호스트 이름, 스토리지 유닛 이름 또는 BOOST 사용자 이름을 Linux 클라이언트 "마운트" 명령에서 사용하거나 타겟 DD에 해당하는 경우 발생할 수 있습니다. DD, BOOSTFS Lockbox 및 "mount" 명령에서 모든 이름이 일치하는지 확인합니다.
8. "boostfs" 사용자 자격 증명 설정 시도가 실패하고 다음 오류가 표시됩니다.
bfs_krb5_err_handler: Kerberos 오류: -1765328360 [ERROR_MESSAGE=초기 자격 증명을 얻지 못했습니다.]
Kerberos 자격 증명
1을 설정할 수 없습니다. Active Directory 사용자 자격 증명
2로 DC에 로그인하여 Active Directory 사용자 자격 증명이 올바른지 확인합니다. Linux 클라이언트와 Kerberos 서버의 시간 간격이 5분을 넘지 않는지 확인합니다. Kerberos 인증을 사용하려면 클록 시간 간격이 5분 이하여야 합니다.
9. Linux 클라이언트에서 BOOSTFS를 마운트할 때 "fusermount: mount failed: 작업이 허용되지 않습니다."
여기에는 여러 가지 이유가 있을 수 있습니다. "fusermount"는 궁극적으로 FUSE를 사용하여 DD BOOST 스토리지 유닛을 Linux 클라이언트 네임스페이스에 로컬로 마운트하는 Linux 기본 명령입니다. 이렇게 하려면 특별한 권한이 필요합니다. 이것이 "fusermount"가 Linux 클라이언트에서 SUID 바이너리인 이유입니다.
# ls -l /usr/bin/fusermount -rwsr-xr-x입니다. 1 루트 루트 38680 2019 년 5 월 11 일 /usr/bin/fusermount
SUID 바이너리가 된다는 것은 사용자가 스토리지 유닛을 마운트하려는 시도를 실행 중일 때 "fusermount"가 "root" 권한으로 실행된다는 것을 의미합니다. "fusermount"가 루트에 SUID가 아닌 경우 Linux 클라이언트 루트 사용자만 원격 BOOST 스토리지 유닛을 마운트할 수 있습니다. /etc/fstab 아래에 마운트를 설정하는 경우에는 문제가 되지 않을 수 있지만, 루트가 아닌 사용자가 마운트를 수행해야 하는 경우에는 문제가 됩니다.
10. BOOSTFS가 정상적으로 마운트되지만 마운트 지점에서 스토리지 유닛 콘텐츠에 액세스하려는 시도가 권한 오류로 인해 실패합니다.
DataDomain "boostfs" 명령 또는 /etc/fstab(또는 CLI의 "mount.fuse")을 사용하여 스토리지 유닛을 수동으로 마운트하는 경우 BOOSTFS를 마운트한 Linux 클라이언트 사용자 ID에 대한 파일 액세스만 허용하는 것이 기본 FUSE 구현입니다. 따라서 마운트가 루트로 만들어진 경우 루트만 파일에 액세스할 수 있습니다. 마운트가 사용자 "postgres"(PostgreSQL DB 백업용)로 만들어진 경우 이 사용자만 파일에 액세스할 수 있는 권한을 갖습니다.
다른 이유로 다른 사용자가 Linux 클라우드에서 마운트된 스토리지 유닛의 파일에 액세스할 수 있도록 해야 하는 경우 /etc/fuse.conf를 조정해야 할 수 있습니다. 자세한 내용은 여기를 참조하십시오 :
http://manpages.ubuntu.com/manpages/bionic/en/man8/mount.fuse.8.html
/etc/fuse.conf 에서 다음 옵션을 설정해야합니다.
user_allow_other
루트가 아닌 사용자가 allow_other 또는 allow_root 마운트 옵션을 지정할 수 있도록 허용합니다(
아래).
그런 다음 명령줄에서 BOOST 스토리지 유닛을 마운트할 때 다음을 사용합니다.
allow_other
이 옵션은 사용자에 대한 파일 액세스를 제한하는 보안 조치를 재정의합니다
파일 시스템을 마운팅합니다. 모든 사용자(루트 포함)가 파일에 액세스할 수 있도록 합니다. 이
옵션은 기본적으로 루트에만 허용되지만 이 제한은
위에서 설명한 구성 옵션(user_allow_other).
Additional Information
1. boostfs 구성 파일에서 정의할 수 있는 마운트 지점 섹션의 최대 개수는 몇 개입니까?
boostfs.conf 파일의 마운트 지점 섹션에는 마운트 수에 제한이 없습니다.
# 마운트 지점 섹션은 [mountpoint] 태그로 구분됩니다. # # [/경로/to/mount] # [/mnt/bofs] # Data Domain Hostname or IP address # data-domain-system=dd2500-1.yourdomain.com # 스토리지 유닛 # storage-unit=su-name # 스토리지 유닛 사용자 이름 # storage-unit-username=sysadmin # 마운트할 스토리지 유닛 내의 하위 디렉토리 # 디렉토리 이름 = 경로 / 대상 / 하위 디렉토리
2. Networker는 기본적으로 BOOSTFS를 지원하며 특정 작업 및 백업을
수행하기 위해 필요 시 마운트를 처리할 수 있습니다Networker가 BOOST 지원 백업 애플리케이션인 경우에도 NetWorker가 설치된 Linux 클라이언트 시스템에서도 BOOSTFS를 지원합니다. BOOSTFS Lockbox가 설정된 후 Linux 클라이언트 명령줄에서 수행되는 NW 백업의 한 가지 예는 다음과 같습니다(PostgreSQL 백업).
# nsroappbackup -z /nsr/apps/config/backup_postgresql.cfg 174908:(pid 16487):풀 'DB'에 백업 데이터 저장. 175019:(pid 16487):호스트 'dd.example.com'에 대한 미디어 관리 바인딩 정보를 받았습니다. 174910:(pid 16487):호스트 'dd.example.com'의 nsrmmd 프로세스에 연결되었습니다. + /usr/pgsql-11/bin/pg_dump --file=/nsr/apps/tmp/e3106c82_294324_16487/dump.sql --format=plain 반환된 값 0으로 처리를 계속했습니다. + /bin/cp /data/postgresql.conf /nsr/apps/tmp/e3106c82_294324_16487/ 반환된 값 0으로 처리를 계속했습니다. '01/04/20 15:40:36' 세이브 세트 'PostgreSQL_postgres_backuppostgre_full'에 있는 파일은 다음과 같습니다. 크기: 이름: 2645 dump.sql 24000 postgresql.conf 2 파일 26645 바이트 백업 명령 '/nsr/apps/config/scripts/backup-postgre-dbon1-full.sh'가 성공적으로 완료되었습니다. 백업이 성공적으로 완료되었습니다.
백업 작업이 구성되면 NW GUI에서 시작할 수도 있으며 NW에서 실행한 마운트가 완료되면 진행률을 모니터링할 수 있습니다.messages.engineering은 아래와 같은 로그 항목을 표시합니다.
4 월 1 일 15:20:49 dd.example.com ddfs [17040] : 주의: ddboost-client.example.com-49808<>: 부스트: Apr 1 15:22:52.395 16275 704915520 [I] DDBoost 플러그인 버전: [7.0.0.0.633508] 4 월 1 일 15:20:49 dd.example.com ddfs [17040] : 주의: ddboost-client.example.com-49808<>: 부스트: Apr 1 15:22:52.395 16275 704915520 [I] BoostFS 버전 정보: [부스트 : 7.0.0.0-633922 퓨즈 : 2.9.7] 4 월 1 일 15:20:49 dd.example.com ddfs [17040] : 주의: ddboost-client.example.com-49808<>: 부스트: 4 월 1 일 15:22:52.395 16275 704915520 [I] bfs_lib_init: /mnt/mountpoint에서 dd.example.com:LSU_NAME 마운트