Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

GFS 2 (Global File System 2)

Red Hat Enterprise Linux 5

Red Hat GFS 2 (Red Hat Global File System 2)

엮음 3

초록

다음 부분에서는 Red Hat Enterprise Linux 5 용 Red Hat GFS2 (Red Hat Global File System 2)를 설치, 설정, 관리하는 방법에 대해 설명합니다.

소개

GFS (Global File System) 설정 및 관리 문서에 오신 것을 환영합니다. 이 문서에서는 Red Hat GFS2 (Red Hat Global File System 2) 설정 및 관리에 관한 내용을 다루고 있습니다. Red Hat GFS2는 단일 노드에서나 또는 RHEL 5.3 에서의 Red Hat Cluster Suite 에 있는 클러스터 설정 부분으로 실행될 수 있습니다. Red Hat Cluster Suite 에 관한 보다 자세한 내용은 Red Hat Cluster Suite 개요Red Hat Cluster 설정 및 관리 장을 참조하시기 바랍니다.
모든 공식적인 Red Hat Enterprise Linux 메뉴얼 및 릴리즈 노트의 HTML과 PDF 버전은 http://www.redhat.com/docs/에서 확인하실 수 있습니다.

1. 대상 그룹

이 문서는 다음과 같은 작업에 능숙한 Linux 시스템 관리자를 위한 것입니다:
  • Linux 시스템 관리 절차, 커널 설정 포함
  • 파이버 채널 SAN과 같은 공유 저장 장치 네트워크 설치 및 설정

3. 피드백

오자를 발견하셨거나, 보다 좋은 메뉴얼을 만들기 위한 제안이 있다면, 언제든지 저희에게 알려 주십시오! rh-cs에 대한 리포트를 버그질라 (http://bugzilla.redhat.com/bugzilla/)에 제출해 주십시오.
Be sure to mention the manual's identifier:
rh-gfs2(EN)-5 (2009-01-05T15:15)
By mentioning this manual's identifier, we know exactly which version of the guide you have.
문서 자료 개선을 위한 제안이 있으시면, 최대한 상세하고 명확히 설명해 주시기 바랍니다. 오류를 발견하셨다면, 저희가 쉽게 식별할 수 있도록 섹션 번호와 주위의 문장들을 함께 보내주시기 바랍니다.

1장. GFS2 개요

Red Hat GFS2 파일 시스템은 Linux 커널 파일 시스템 인터페이스 (VFS 레이어)와 직접 연결시키는 원시적 파일 시스템입니다. GFS2 파일 시스템은 독립형 시스템으로 또는 클러스터 설정 부분으로 구현될 수 있습니다. 클러스터 파일 시스템으로 구현될 경우, GFS2는 분산형 메타 데이터 및 다중 저널을 사용할 수 있습니다.
A GFS2 file system can be created on an LVM logical volume. A logical volume is an aggregation of underlying block devices that appears as a single logical device. For information on the LVM volume manager, see the LVM Administrator's Guide.
GFS2는 64 비트 아키텍처를 기반으로 하며, 이는 이론적으로 8 EB 파일 시스템을 수용할 수 있습니다. 하지만, 현재 지원되는 최대 GFS2 파일 시스템 크기는 25 TB입니다. 25 TB 보다 용량이 큰 GFS2 파일 시스템이 필요하실 경우, Red Hat 서비스 담당자에게 연락하시기 바랍니다.
파일 시스템 크기를 결정할 때, 복구에 필요한 용량을 고려하셔야 합니다. 아주 용량이 큰 파일 시스템에서 fsck 명령을 실행하면 시간이 오래 걸리고 메모리 용량을 많이 차지하게 됩니다. 또한, 디스크 또는 디스크-서브 시스템 장애 발생시, 복구 시간은 백업 미디어 속도에 의해 제한됩니다.
Red Hat Cluster Suite 설정 시, Red Hat GFS2 노드는 Red Hat Cluster Suite 설정 및 관리 도구로 설정 및 관리될 수 있습니다. 그 후, Red Hat GFS2는 GFS2 노드를 통해 파일 시스템 이름 공간을 지속적으로 확인하여 Red Hat 클러스터에 있는 GFS2 노드 사이에서 데이터를 공유하게 합니다. 이는 동일한 노드 상의 프로세스가 로컬 파일 시스템에 있는 파일을 공유하는 것과 동일한 방식으로 다른 노드 상의 프로세스가 GFS2 파일을 공유하게 합니다. Red Hat Cluster Suite에 관한 자세한 내용은 Red Hat Cluster 설정 및 관리 장을 참조하시기 바랍니다.
LVM logical volumes in a Red Hat Cluster suite are managed with CLVM, which is a cluster-wide implementation of LVM, enabled by the CLVM daemon, clvmd running in a Red Hat Cluster Suite cluster. The daemon makes it possible to use LVM2 to manage logical volumes across a cluster, allowing all nodes in the cluster to share the logical volumes. to any directory on your system. For information on the LVM volume manager, see the LVM Administrator's Guide.
gfs2.ko 커널 모듈은 GFS2 파일 시스템을 구현하여 GFS2 클러스터 노드로 불러 오는 커널 모듈입니다.
다음 부분에서는 GFS2의 이해를 돕기 위해 기본적이고, 간략한 내용을 소개합니다. 이는 다음과 같은 부분으로 구성되어 있습니다:

1.1. GFS2 설정 전

GFS2 설치 및 설정 전, 다음과 같은 GFS2 파일 시스템의 주요 특징에 유의합니다:
GFS2 노드
Red Hat Cluster Suite에서 어떤 노드가 GFS2 파일 시스템을 마운트하게 할 지를 지정합니다.
파일 시스템 수
처음으로 생성할 GFS2 파일 시스템 수를 지정합니다. (나중에 파일 시스템을 더 추가할 수 있습니다.)
파일 시스템 이름
각각의 파일 시스템에 대해 고유한 이름을 지정합니다. 이는 클러스터를 통한 모든 lock_dlm 파일 시스템 및 각각의 로컬 노드 상에 있는 모든 파일 시스템 (lock_dlmlock_nolock)에 대해 고유한 이름이어야 합니다. 각각의 파일 시스템 이름은 매개 변수 형식으로 되어야 합니다. 예를 들어, 이 문서의 일부 예에서 mydata1mydata2라는 파일 시스템 이름을 사용하고 있습니다.
저널
Determine the number of journals for your GFS2 file systems. One journal is required for each node that mounts a GFS2 file system. GFS2 allows you to add journals dynamically at a later point as additional servers mount a filesystem. For information on adding journals to a GFS2 file system, see 3.6절. “파일 시스템에 저널 추가 ”.
GNBD 서버 노드
GNBD를 사용하고 계실 경우, 필요한 GNBD 서버 노드 수를 지정합니다. 차후 GNBD 설정을 위해 각각의 GNBD 서버 노드의 호스트명 및 IP 주소에 유의합니다. GFS2로 GNBD 사용에 대한 내용은 GFS2로 GNBD 사용 문서를 참조하시기 바랍니다.
저장 장치 및 파티션
파일 시스템에 논리 볼륨 (CLVM을 통해)을 생성하기 위해 사용할 저장 장치 및 파티션을 지정합니다.

참고

동시에 동일한 디렉토리에 있는 하나 이상의 노드에서 생성 및 삭제 작업 실행이 문제가 될 때 GFS2에서 실행 문제를 확인하실 수 있습니다. 이로 인해 시스템에서 실행 상의 문제가 발생할 경우, 노드에 의한 파일 생성 및 삭제를 노드에 지정된 디렉토리로 가능한 많이 로컬라이징해야 합니다.

1.2. GFS와 GFS2의 차이점

다음 부분에서는 GFS2가 GFS 이상으로 제공하는 개선 사항 및 변경 사항을 다루고 있습니다.
Migrating from GFS to GFS2 requires that you convert your GFS file systems to GFS2 with the gfs2_convert utility. For information on the gfs2_convert utility, see 부록 A. GFS에서 GFS2로 파일 시스템 변경 .

1.2.1. GFS2 명령어

In general, the functionality of GFS2 is identical to GFS. The names of the file system commands, however, specify GFS2 instead of GFS. 표 1.1. “GFS 및 GFS2 명령 ” shows the equivalent GFS and GFS2 commands.

표 1.1. GFS 및 GFS2 명령

GFS 명령 GFS2 명령 설명
mount mount 파일 시스템을 마운트합니다. 시스템에 파일 시스템을 GFS 또는 GFS2 유형으로 할 지를 지정할 수 있습니다. GFS2 마운트 옵션에 대한 내용은 gfs2_mount(8) 맨 페이지를 참조하시기 바랍니다.
umount umount 파일 시스템을 마운트 해제합니다.
fsck
gfs_fsck
fsck
fsck.gfs2
마운트 해제된 파일 시스템을 확인 및 복구합니다.
gfs_grow gfs2_grow 마운트된 파일 시스템을 확장합니다.
gfs_jadd gfs2_jadd 마운트된 파일 시스템에 저널을 추가합니다.
gfs_mkfs
mkfs -t gfs
mkfs.gfs2
mkfs -t gfs2
저장 장치에 파일 시스템을 생성합니다.
gfs_quota gfs2_quota 마운트된 파일 시스템에 쿼터를 할당합니다.
gfs_tool gfs2_tool 파일 시스템에 관한 정보를 설정, 조정, 확장합니다.
gfs_edit gfs2_edit 파일 시스템 내부 구조를 보여주거나 출력 또는 편집합니다. gfs2_edit 명령은 GFS 파일 시스템 및 GFS2 파일 시스템에도 사용할 수 있습니다.
GFS2 파일 시스템 명령에 대해 지원되는 옵션의 완전 목록은 해당 명령의 맨 페이지를 참조하시기 바랍니다.

1.2.2. GFS 및 GFS2의 기타 다른 차이점

This section summarizes the additional differences in GFS and GFS2 administration that are not described in 1.2.1절. “GFS2 명령어 ”.

1.2.2.1. 문맥 의존적 (Context-Dependent) 경로 이름

GFS2 file systems do not provide support for context-dependent path names, which allow you to create symbolic links that point to variable destination files or directories. For this functionality in GFS2, you can use the bind option of the mount command. For information on managing pathnames in GFS2, see 3.11절. “바인드 마운트 및 문맥 의존적 경로 이름 ”.

1.2.2.2. gfs2.ko 모듈

GFS 파일 시스템을 구현하는 커널 모듈은 gfs.ko입니다. GFS2 파일 시스템을 구현하는 커널 모듈은 gfs2.ko입니다.

1.2.2.3. GFS2에서 쿼터 강제 활성화

In GFS2 file systems, quota enforcement is disabled by default and must be explicitly enabled. To enable and disable quotas for GFS2 file systems, you use the quota=on|off|account option for the mount command. For information on enabling and disabling quota enforcement, see 3.4.4절. “쿼터 강제 활성화/비활성화 ”.

1.2.2.4. 데이터 저널링

GFS2 file systems support the use of the chattr command to set and clear the j flag on a file or directory. Setting the +j flag on a file enables data journaling on that file. Setting the +j flag on a directory means "inherit jdata", which indicates that all files and directories subsequently created in that directory are journaled. Using the chattr command is the preferred way to enable and disable data journaling on a file.

1.2.2.5. 동적으로 저널 추가

In GFS2 file systems, journals are plain (though hidden) files instead of embedded metadata. This means that journals can be dynamically added as additional servers mount a filesystem. For information on adding journals to a GFS2 file system, see 3.6절. “파일 시스템에 저널 추가 ”.

1.2.2.6. atime_quantum 매개 변수 삭제

GFS2 파일 시스템은 atime_quantum 조정 가능 매개 변수를 지원하지 않으며, 이는 얼마나 자주 atime 업데이트를 실행할 것인지를 지정하기 위해 GFS 파일 시스템에 의해 사용될 수 있습니다. 여기서 GFS2는 relatimenoatime 마운트 옵션을 지원합니다. GFS에서 atime_quantum 매개 변수를 설정하기 위해 relatime 마운트 옵션을 사용하는 것이 좋습니다.

1.2.2.7. 마운트 명령의 data= 옵션

GFS2 파일 시스템을 마운트할 경우, mount 명령의 data=ordered 또는 data=writeback 옵션을 지정할 수 있습니다. data=ordered가 설정되면, 트랜젝션에 의해 수정된 사용자 데이터는 트랜젝션이 디스크로 커밋되기 이전에 디스크에서 삭제됩니다. 이는 크래시 후 파일에 있는 초기화되지 않은 블록을 사용자가 보지 못하게 합니다. data=writeback이 설정되면, 사용자 데이터는 언제든지 디스크에 작성될 수 있습니다. 이는 ordered 모드에서 처럼 동일한 일관성이 보장되지 않지만, 일부 작업 부하에 대해 좀 더 빠르게 처리될 수 있습니다. 기본값은 ordered 모드입니다.

1.2.2.8. gfs2_tool 명령

gfs2_tool 명령은 GFS에 대한 gfs_tool 명령이 지원하는 것 이외에 GFS2에 대한 다른 옵션 모음을 지원합니다.
  • gfs2_tool은 파일 시스템에 있는 저널 수를 포함하여 현재 설정된 저널에 관한 정보를 출력하는 journals 매개 변수를 지원합니다.
  • gfs2_tool 명령은 GFS 통계를 보기위해 gfs_tool 명령이 사용하는 counters 플래그를 지원하지 않습니다.
  • The gfs2_tool command does not support the inherit_jdata flag. To flag a directory as "inherit jdata", you can set the jdata flag on the directory or you can use the chattr command to set the +j flag on the directory. Using the chattr command is the preferred way to enable and disable data journaling on a file.

1.2.2.9. gfs2_edit 명령

gfs2_edit 명령은 GFS에 대해 gfs_edit 명령이 지원하는 것 이외에 GFS2에 대해 다른 옵션 모음을 지원합니다.

1.2.3. GFS2 성능 개선

GFS2 파일 시스템의 여러 기능은 GFS 파일 시스템에서의 사용자 인터페이스와 다른점이 없지만 파일 시스템 성능이 향상되었습니다.
다음과 같은 방식으로 GFS2 파일 시스템은 파일 시스템 성능이 개선되었습니다:
  • 단일 디렉토리에서 과도한 사용에 대해 보다 나은 성능 발휘
  • 보다 빠른 동기식 I/O 실행
  • 보다 빠른 캐시 읽기 (잠금 오버헤드 없음)
  • 사전 할당된 파일로 보다 빠르게 직접 I/O (부여된 I/O 크기는 4M 블록과 같이 큼)
  • 일반적으로 보다 빠른 I/O 실행
  • 보다 빠른 statfs 호출로 인해 df 명령 실행이 더 빨라짐
  • GFS와 비교할 때 atime에 의해 생성되는 여러 쓰기 I/O 동작을 줄이기 위해 atime 모드가 개선되었습니다.
다음과 같은 방식에서 GFS2 파일 시스템은 보다 방대하고 주력적인 지원을 제공합니다.
  • GFS2는 업스트림 커널 부분입니다 (2.6.19로 통합됨)
  • GFS2는 다음과 같은 기능을 지원합니다:
    • SELinux 확장 속성
    • 표준 ioctl() 호출을 통한 lsattr() 및 chattr() 속성 설정
    • 나노단위초 타임스탬프
GFS2 파일 시스템은 파일 시스템의 내부적 효율성에 있어서 다음과 같은 사항이 개선되었습니다.
  • GFS2는 보다 적은 커널 메모리 사용
  • GFS2는 메타데이터 생성 번호가 필요하지 않음
    GFS2 메타데이터 할당에서는 읽기가 필요하지 않습니다. 잠금 해제 전 저널에서 블록을 삭제하여 다중 저널에 있는 메타데이터 블록 복사본을 관리합니다.
  • GFS2에는 링크되지 않은 inode 또는 쿼터 변경에 관한 정보를 모르는 보다 간단한 로그 관리자가 포함되어 있습니다.
  • gfs2_growgfs2_jadd 명령은 동시에 여러 인스턴스가 실행되지 않게 하기 위해 잠금 기능을 사용합니다.
  • ACL 코드 활성화는 creat() 및 mkdir() 과 같은 호출로 단순화되었습니다.
  • 링크되지 않은 inode, 쿼터 변경, statfs 변경 사항은 저널을 다시 마운트하지 않고 복구됩니다.

2장. 시작하기

다음 부분에서는 GFS2 초기 설정 절차에 대해 설명하며 다음과 같은 부분으로 구성되어 있습니다:

2.1. 선수 작업

Before setting up Red Hat GFS2, make sure that you have noted the key characteristics of the GFS2 nodes (refer to 1.1절. “GFS2 설정 전 ”). Also, make sure that the clocks on the GFS2 nodes are synchronized. It is recommended that you use the Network Time Protocol (NTP) software provided with your Red Hat Enterprise Linux distribution.

참고

GFS2 노드에 있는 시스템 시계는 불필요한 inode 타임스태프를 업데이트하지 못하게 하기 위해 몇 분 이내로 되어 있어야 합니다. 불필요한 inode 타임스탬프 업데이트로 클러스터 실행에 심각한 영향을 미칠 수 있습니다.

2.2. 초기 설정 작업

초기 GFS2 설정은 다음과 같은 작업으로 구성되어 있습니다:
  1. 논리 볼륨 설정
  2. GFS2 파일 시스템 작성
  3. 파일 시스템 마운트
GFS2 설정을 초기화하기 위해 다음과 같은 단계를 실행합니다.
  1. LVM을 사용하여, 각각의 Red Hat GFS2 파일 시스템에 해당하는 논리 볼륨을 생성합니다.

    참고

    Red Hat Cluster Suite에 포함된 init.d 스크립트를 사용하여 논리 볼륨을 자동으로 활성화 및 비활성화할 수 있습니다. init.d 스크립트에 관한 보다 자세한 내용은 Red Hat Cluster 설정 및 관리 부분을 참조하시기 바랍니다.
  2. Create GFS2 file systems on logical volumes created in Step 1. Choose a unique name for each file system. For more information about creating a GFS2 file system, refer to 3.1절. “파일 시스템 작성 ”.
    클러스터 GFS2 파일 시스템을 생성하기 위해 다음과 같은 포맷을 사용하실 수 있습니다:
    mkfs.gfs2 -p lock_dlm -t ClusterName:FSName -j NumberJournals BlockDevice
    mkfs -t gfs2 -p lock_dlm -t LockTableName -j NumberJournals BlockDevice
    로컬 GFS2 파일 시스템을 생성하기 위해 다음과 같은 포맷을 사용하실 수 있습니다:
    mkfs.gfs2 -p lock_nolock -j NumberJournals BlockDevice
    mkfs -t gfs2 -p lock_nolock -j NumberJournals BlockDevice
    For more information on creating a GFS2 file system, see 3.1절. “파일 시스템 작성 ”.
  3. At each node, mount the GFS2 file systems. For more information about mounting a GFS2 file system, see 3.2절. “파일 시스템 마운트”.
    명령어 사용법:
    mount BlockDevice MountPoint
    mount -o acl BlockDevice MountPoint
    -o acl mount 옵션으로 ACL 파일을 조작할 수 있습니다. -o acl 마운트 옵션 없이 파일 시스템이 마운트되어 있을 경우, 사용자는 (getfacl 명령을 사용하여) ACL 파일을 볼 수 있지만 (setfacl 명령을 사용하여) 이를 설정할 수 없습니다.

    참고

    Red Hat Cluster Suite에 있는 init.d 스크립트를 사용하여 GFS2 파일 시스템을 자동 마운트 및 마운트 해제할 수 있습니다. init.d 스크립트에 관한 보다 자세한 내용은 Red Hat Cluster 설정 및 관리를 참조하시기 바랍니다.

3장. GFS2 관리

다음 부분에서는 GFS2 관리를 위한 작업 및 명령에 대해 다루고 있으며 다음과 같은 부분으로 구성되어 있습니다:

3.1. 파일 시스템 작성

mkfs.gfs2 명령을 사용하여 GFS2 파일 시스템을 생성합니다. mkfs-t gfs2 옵션과 함께 사용할 수 도 있습니다. 파일 시스템은 활성화된 LVM 볼륨에 생성됩니다. 다음은 mkfs.gfs2 명령을 실행하기 위해 필요한 내용입니다:
  • 잠금 프로토콜/모듈 이름 (클러스터에 해당하는 잠금 프로토콜은 lock_dlm 임)
  • 클러스터 이름 (클러스터 설정 부분으로 실행할 경우)
  • 저널 수 (파일 시스템을 마운트할 수 있는 각각의 노드에 필요한 하나의 저널)
GFS 파일 시스템을 생성할 때, mkfs.gfs2를 직접 사용하거나 또는 gfs2 유형의 파일 시스템을 지정하는 -t 매개 변수와 그 뒤에 따르는 gfs2 파일 시스템 옵션과 함께 mkfs 명령을 사용하실 수 있습니다.

3.1.1. 사용법

클러스터 GFS2 파일 시스템을 생성할 때, 다음의 포맷을 사용하실 수 있습니다:
mkfs.gfs2 -p LockProtoName -t LockTableName -j NumberJournals BlockDevice
mkfs -t gfs2 -p LockProtoName -t LockTableName -j NumberJournals BlockDevice
로컬 GFS2 파일 시스템을 생성할 때, 다음의 포맷을 사용하실 수 있습니다:
mkfs.gfs2 -p LockProtoName -j NumberJournals BlockDevice
mkfs -t gfs2 -p LockProtoName -j NumberJournals BlockDevice

주의

LockProtoNameLockTableName 매개 변수 사용에 익숙한 지를 확인합니다. LockProtoNameLockTableName 매개 변수의 부적절한 사용으로 파일 시스템이나 잠금 공간 손실의 원인이 될 수 있습니다.
LockProtoName
사용할 잠금 프로토콜 이름을 지정합니다. 클러스터 용 잠금 프로토콜은 lock_dlm입니다.
LockTableName
이러한 매개 변수는 클러스터 설정에서의 GFS2 파일 시스템 용으로 지정되어 있습니다. 이는 다음과 같이 (띄어쓰기 없이) 콜론을 사용하여 두 부분으로 나뉘어 집니다: ClusterName:FSName
  • ClusterName:FSName, 생성되고 있는 GFS2 파일 시스템에 대한 Red Hat Cluster 이름입니다.
  • FSName, 파일 시스템 이름으로, 1에서 16자 길이로 될 수 있으며, 클러스터에 있는 모든 lock_dlm 파일 시스템 및 각각의 로컬 노드에 있는 모든 파일 시스템 (lock_dlmlock_nolock)에 대해 고유한 이름이어야 합니다.
Number
Specifies the number of journals to be created by the mkfs.gfs2 command. One journal is required for each node that mounts the file system. For GFS2 file systems, more journals can be added later without growing the filesystem, as described in 3.6절. “파일 시스템에 저널 추가 ”.
BlockDevice
논리 또는 물리 볼륨을 지정합니다.

3.1.2. 예시

예에서, lock_dlm이 클러스터 파일 시스템이 된 이후 이는 파일 시스템이 사용하는 잠금 프로토콜이 됩니다. 클러스터 이름은 alpha이며, 파일 시스템 이름은 mydata1입니다. 파일 시스템에는 8 개의 저널이 포함되어 있으며 /dev/vg01/lvol0에 생성됩니다.
mkfs.gfs2 -p lock_dlm -t alpha:mydata1 -j 8 /dev/vg01/lvol0
mkfs -t gfs2 -p lock_dlm -t alpha:mydata1 -j 8 /dev/vg01/lvol0
예에서, 클러스터 alpha에서 사용될 수 있는 두 번째 lock_dlm 파일 시스템이 생성되어 있습니다. 파일 시스템 이름은 mydata2입니다. 파일 시스템에는 8 개의 저널이 포함되어 있으며 /dev/vg01/lvol1에 생성됩니다.
mkfs.gfs2 -p lock_dlm -t alpha:mydata2 -j 8 /dev/vg01/lvol1
mkfs -t gfs2 -p lock_dlm -t alpha:mydata2 -j 8 /dev/vg01/lvol1

3.1.3. 전체 옵션

표 3.1. “명령 옵션: mkfs.gfs2 describes the mkfs.gfs2 command options (flags and parameters).

표 3.1. 명령 옵션: mkfs.gfs2

플래그 매개 변수 설명
-c Megabytes Sets the initial size of each journal's quota change file to Megabytes.
-D 디버깅 출력 결과를 활성화합니다.
-h 도움말. 사용 가능한 옵션을 보여줍니다.
-J MegaBytes 저널 크기를 메가바이트 단위로 지정합니다. 기본값 저널 크기는 128 메가 바이트입니다. 최소 크기는 8 메가 바이트입니다. 보다 크기가 큰 저널은 크기가 작은 저널보다 더 많은 메모리를 사용하여도 성능이 향상됩니다.
-j Number mkfs.gfs2 명령에 의해 생성된 저널 수를 지정합니다. 파일 시스템을 마운트하는 각각의 노드에 대해 하나의 저널이 필요합니다. 이 옵션이 지정되지 않았을 경우, 하나의 저널이 생성됩니다. GFS2 파일 시스템의 경우, 파일 시스템을 확장하지 않고 나중에 저널을 추가할 수 있습니다.
-O 파일 시스템을 작성하기 전 mkfs.gfs2 명령은 확인 질문을 하지 않게 됩니다.
-p LockProtoName
사용할 잠금 프로토콜 수를 지정합니다. 잠금 프로토콜에는 다음과 같은 것이 포함됩니다:
lock_dlm — 클러스터 파일 시스템에 필요한 표준 잠금 모듈입니다.
lock_nolock — GFS2가 로컬 파일 시스템처럼 작동할 경우 사용됩니다 (하나의 노드에서만).
-q 정숙 모드. 아무것도 보여주지 않습니다.
-r MegaBytes 리소스 그룹 크기를 메가 바이트 단위로 지정합니다. 최소 리소스 그룹 크기는 32 MB입니다. 최대 리소스 그룹 크기는 2048 MB입니다. 크기가 큰 리소스 그룹은 대용량 파일 시스템에서 성능이 향상될 수 있습니다. 크기가 지정되어 있지 않을 경우, mkfs.gfs2는 파일 시스템 크기에 기반하여 리소스 그룹 크기를 선택합니다: 평균 파일 시스템 크기는 256 MB 리소스 그룹을 갖게 되며, 용량이 큰 파일 시스템은 성능 향상을 위해 크기가 큰 리소스 그룹을 갖습니다.
-t LockTableName
lock_dlm 프로토콜을 사용할 경우 잠금 테이블 영역에 지정된 유일한 식별자; lock_nolock 프로토콜은 이러한 매개 변수를 사용하지 않습니다.
다음과 같이 이러한 매개 변수는 콜론 (빈 칸 없이)으로 두 부분으로 나뉘어 집니다: ClusterName:FSName.
ClusterName은 GFS2 파일 시스템이 생성되어 있는 Red Hat 클러스터 이름입니다; 클러스터의 멤버에게만 이 파일 시스템의 사용 권한이 주어집니다. 클러스터 이름은 클러스터 설정 도구를 통해 /etc/cluster/cluster.conf 파일에 설정되며 Red Hat Cluster Suite 클러스터 관리 GUI에 있는 클러스터 상태 도구에 나타납니다.
FSName, 파일 시스템 이름으로, 1에서 16자 길이로 될 수 있으며, 클러스터에 있는 모든 파일 시스템 중에서 고유한 이름이어야 합니다.
-u MegaBytes Specifies the initial size of each journal's unlinked tag file.
-V 명령 버전 정보를 보여줍니다.

3.2. 파일 시스템 마운트

Before you can mount a GFS2 file system, the file system must exist (refer to 3.1절. “파일 시스템 작성 ”), the volume where the file system exists must be activated, and the supporting clustering and locking systems must be started (refer to Configuring and Managing a Red Hat Cluster). After those requirements have been met, you can mount the GFS2 file system as you would any Linux file system.
ACL 파일을 조작하려면, -o acl 마운트 옵션을 사용하여 파일 시스템을 마운트해야 합니다. -o acl 마운트 옵션을 사용하지 않고 파일 시스템이 마운트될 경우, 사용자는 ACL (getfacl 사용)을 볼 수 있으나 이를 설정할 수 는 (setfacl 사용) 없게 됩니다.

3.2.1. 사용법

Mounting Without ACL Manipulation
mount BlockDevice MountPoint
Mounting With ACL Manipulation
mount -o acl BlockDevice MountPoint
-o acl
ACL 파일을 조작 허용하기 위한 GFS2 특정 옵션입니다.
BlockDevice
GFS2 파일 시스템이 위치할 블록 장치를 지정합니다.
MountPoint
GFS2 파일 시스템을 마운트할 디렉토리를 지정합니다.

3.2.2. 예시

예에서, /dev/vg01/lvol0에 있는 GFS2 파일 시스템은 /mygfs2 디렉토리에 마운트되어 있습니다.
mount /dev/vg01/lvol0 /mygfs2

3.2.3. 전체 사용법

mount BlockDevice MountPoint -o option
The -o option argument consists of GFS2-specific options (refer to 표 3.2. “GFS2-특정 마운트 옵션 ”) or acceptable standard Linux mount -o options, or a combination of both. Multiple option parameters are separated by a comma and no spaces.

참고

mount 명령은 Linux 시스템 명령입니다. 다음에서 설명하는 GFS2 특정 옵션을 사용하는 것에 더하여, 기타 다른 표준 mount 명령 옵션을 사용할 수 있습니다 (예, -r). 기타 다른 Linux mount 명령 옵션에 대한 자세한 내용은 Linux mount 맨 페이지를 참조하시기 바랍니다.
표 3.2. “GFS2-특정 마운트 옵션 ” describes the available GFS2-specific -o option values that can be passed to GFS2 at mount time.

표 3.2. GFS2-특정 마운트 옵션

옵션 설명
acl ACL 파일을 조작 허용합니다. 파일 시스템이 acl 마운트 옵션 없이 마운트되어 있을 경우, 사용자는 ACL을 볼 수 있지만 (getfacl 사용), 이를 설정할 수 없습니다 (setfacl 사용).
data=[ordered|writeback] data=ordered가 설정되면, 트랜젝션에 의해 수정된 사용자 데이터는 트랜젝션이 디스크로 커밋되기 이전에 디스크에서 삭제됩니다. 이는 크래시 후 파일에 있는 초기화되지 않은 블록을 사용자가 보지 못하게 합니다. data=writeback이 설정되면, 사용자 데이터는 언제든지 디스크에 작성될 수 있습니다; 이는 ordered 모드에서 처럼 동일한 일관성이 보장되지 않지만, 일부 작업 부하에 대해 좀 더 빠르게 처리될 수 있습니다. 기본값은 ordered 모드입니다.
ignore_local_fs
주의: GFS2 파일 시스템이 공유될 경우 이 옵션을 사용해서는 안됩니다.
파일 시스템을 멀티 호스트 파일 시스템 처럼 다루기 위해 GFS2를 강제합니다. 기본값으로, lock_nolock을 사용하면 localcachinglocalflocks 플래그가 자동으로 활성화됩니다.
localcaching
주의: GFS2 파일 시스템이 공유될 경우 이 옵션을 사용해서는 안됩니다.
GFS2에게 로컬 파일 시스템 처럼 실행할 것을 지시합니다. 그 후 GFS2는 클러스터 모드에서 실행할 때 사용 가능하지 않는 선택된 최적화 기능을 활성화시키게 됩니다. localcaching 플래그는 lock_nolock에 의해 자동으로 활성화됩니다.
localflocks
주의: GFS2 파일 시스템이 공유될 경우 이 옵션을 사용해서는 안됩니다.
GFS2에게 VFS (virtual file system) 레이어가 모든 flock 및 fcntl 작업을 하도록 지시합니다. localflocks 플래그는 lock_nolock에 의해 자동으로 활성화됩니다.
lockproto=LockModuleName 사용자가 파일 시스템과 함께 사용할 잠금 프로토콜을 지정할 수 있게 합니다. LockModuleName이 지정되어 있지 않을 경우, 잠금 프로토콜 이름은 모든 파일 시스템 슈퍼 블록에서 읽어오게 됩니다.
locktable=LockTableName 사용자가 파일 시스템과 함께 사용할 잠금 테이블을 지정할 수 있게 합니다.
quota=[off/account/on] 파일 시스템에 해당하는 쿼터를 활성화 또는 비활성화합니다. account 상태에서 쿼터를 설정하면 UID/GID 사용 통계가 파일 시스템에 의해 올바르게 관리됩니다; 한계 및 경고 값은 무시됩니다. 기본값은 off입니다.
upgrade 파일 시스템의 디스크 상 포맷을 업그레이드하면 새 GFS2 버전에 의해 사용될 수 있습니다.

3.3. 파일 시스템 마운트 해제

GFS2 파일 시스템은 Linux 파일 시스템에서와 동일한 방식으로 — umount 명령을 사용하여 마운트 해제될 수 있습니다.

참고

umount 명령은 Linux 시스템 명령입니다. 이 명령에 대한 내용은 Linux umount 명령 맨 페이지에서 확인하실 수 있습니다.

3.3.1. 사용법

umount MountPoint
MountPoint
GFS2 파일 시스템을 마운트할 디렉토리를 지정합니다.

3.4. GFS2 쿼터 관리

파일 시스템 쿼터는 사용자 또는 그룹이 사용할 수 있는 파일 시스템 공간을 제한하기 위해 사용됩니다. 사용자나 그룹은 쿼터가 설정될 때 까지 쿼터 제한을 갖지 않습니다. 공간 제한이 없을 경우에도 GFS2는 각각의 사용자 및 그룹에 의해 사용되는 공간을 추적합니다. GFS2는 트랜잭션 방식으로 쿼터 정보를 업데이트하므로 시스템 크래시 경우 재구성할 쿼터 사용량이 필요하지 않습니다.
To prevent a performance slowdown, a GFS2 node synchronizes updates to the quota file only periodically. The "fuzzy" quota accounting can allow users or groups to slightly exceed the set limit. To minimize this, GFS2 dynamically reduces the synchronization period as a "hard" quota limit is approached.
GFS2는 쿼터를 관리하기 위해 gfs2_quota 명령을 사용합니다. 기타 다른 Linux 쿼터 기능은 GFS2와 함께 사용될 수 없습니다.

3.4.1. 쿼터 설정

각각의 사용자 ID (UID) 또는 그룹 ID (GID)에 대해 절대 제한 (hard limit)경고 제한 (warn limit)이라는 두 개의 쿼터 설정을 할 수 있습니다.
절대 제한 (hard limit)은 사용할 수 있는 공간 용량입니다. 파일 시스템은 사용자 또는 그룹이 디스크 공간 보다 더 많은 용량을 사용하게 하지 않습니다. 절대 제한 (hard limit) 값 0은 제한이 강제되지 않음을 의미합니다.
일반적으로 경고 제한 (warn limit)은 절대 제한 (hard limit)값보다 적습니다. 경고 제한 (warn limit)에 도달했을 경우 파일 시스템은 사용자 또는 그룹이 사용하고 있는 공간 용량을 경고하기 위해 이들에게 통지하게 됩니다. 경고 제한 (warn limit) 값 0은 제한이 강제되지 않음을 의미합니다.
gfs2_quota 명령을 사용하여 제한을 설정합니다. 명령은 GFS2가 마운트된 위치의 단일 노드에서만 실행되어야 합니다.
By default, quota enforcement is not set on GFS2 file systems. To enable quota accounting, use the quota= of the mount command when mounting the GFS2 file system, as described in 3.4.4절. “쿼터 강제 활성화/비활성화 ”.

3.4.1.1. 사용법

Setting Quotas, Hard Limit
gfs2_quota limit -u User -l Size -f MountPoint
gfs2_quota limit -g Group -l Size -f MountPoint
Setting Quotas, Warn Limit
gfs2_quota warn -u User -l Size -f MountPoint
gfs2_quota warn -g Group -l Size -f MountPoint
User
제한 또는 경고할 사용자 ID를 지정합니다. 이는 암호 파일이나 UID 번호로 부터의 사용자 이름이 될 수 있습니다.
Group
제한 또는 경고할 그룹 ID를 지정합니다. 이는 그룹 파일이나 GID 번호로 부터의 그룹 이름이 될 수 있습니다.
Size
제한 또는 경고할 새로운 값을 지정합니다. 기본값으로, 값은 메가바이트 단위로 지정됩니다. 추가 -k, -s, -b 플래그는 각각 킬로바이트, 섹터, 파일 시스템 블록 단위로 변경됩니다.
MountPoint
작업을 적용할 GFS2 파일 시스템을 지정합니다.

3.4.1.2. 예시

예에서는 파일 시스템 /mygfs2Bert 사용자에 대해 절대 제한 (hard limit)을 1024 메가바이트 (1 기가바이트)로 설정하고 있습니다.
gfs2_quota limit -u Bert -l 1024 -f /mygfs2
예에서는 파일 시스템 /mygfs2에 그룹 ID 21에 대하여 경고 제한 (warn limit)을 50 킬로바이트로 설정하고 있습니다.
gfs2_quota warn -g 21 -l 50 -k -f /mygfs2

3.4.2. 쿼터 제한 및 사용량 보기

gfs2_quota get 명령을 사용하여 특정 사용자 또는 그룹에 대한 쿼터 제한 및 현재 사용량을 볼 수 있습니다. gfs2_quota list 명령을 사용하여 쿼터 파일의 전체 내용을 볼 수 있습니다, 이러한 경우 절대 제한 (hard limit), 경고 제한 (warn limit), 값이 있는 모든 ID가 나열됩니다.

3.4.2.1. 사용법

Displaying Quota Limits for a User
gfs2_quota get -u User -f MountPoint
Displaying Quota Limits for a Group
gfs2_quota get -g Group -f MountPoint
Displaying Entire Quota File
gfs2_quota list -f MountPoint
User
특정 사용자에 관한 정보를 보기위한 사용자 ID. 이는 암호 파일이나 UID 번호로 부터의 사용자 이름이 될 수 있습니다.
Group
특정 그룹에 대한 정보를 보기위한 그룹 ID. 이는 그룹 파일이나 GID 번호로 부터의 그룹 이름이 될 수 있습니다.
MountPoint
작업을 적용할 GFS2 파일 시스템을 지정합니다.

3.4.2.2. 명령 출력 결과

gfs2_quota 명령을 통한 GFS2 쿼터 정보는 다음과 같이 나타납니다:
user User: limit:LimitSize warn:WarnSize value:Value

group Group: limit:LimitSize warn:WarnSize value:Value

LimitSize, WarnSize, Value 값은 기본값으로 메가바이트 단위가 됩니다. 명령행에 -k, -s, -b 플래그를 추가하여 단위를 각각 킬로바이트, 섹터, 파일 시스템 블록으로 변경할 수 있습니다.
User
데이터와 연관된 사용자 이름 또는 ID
Group
데이터와 연관된 그룹 이름 또는 ID
LimitSize
사용자 또는 그룹에 대해 절대 제한 (hard limit) 설정. 제한이 설정되지 않았을 경우, 이 값은 0이 됩니다.
Value
사용자 또는 그룹에 의해 사용되는 실제 디스크 공간

3.4.2.3. 주석

쿼터 정보 보기에서, -n 옵션이 명령행에 추가되어도 gfs2_quota 명령이 UID 및 GID를 이름으로 분리하지 않습니다.
Space allocated to GFS2's hidden files can be left out of displayed values for the root UID and GID by adding the -d option to the command line. This is useful when trying to match the numbers from gfs2_quota with the results of a du command.

3.4.2.4. 예시

예에서는 제한 설정이 있거나 /mygfs2 파일 시스템에 있는 디스크 공간을 사용하고 있는 모든 사용자 및 그룹에 대한 쿼터 정보를 보여주고 있습니다.
gfs2_quota list -f /mygfs2
예에서는 파일 시스템 /mygfs2에 있는 그룹 users에 대한 섹터에서의 쿼터 정보를 보여주고 있습니다.
gfs2_quota get -g users -f /mygfs2 -s

3.4.3. 쿼터 동기화하기

GFS2는 디스크 상의 내부 파일에 모든 쿼터 정보를 저장합니다. GFS2 노드는 파일 시스템이 작성될 때 마다 이러한 쿼터 파일을 업데이트하지 않습니다; 대신, 60 초에 한 번씩 쿼터 파일을 업데이트합니다. 이는 노드 사이에서 쿼터 파일로의 작성 경합이 일어나지 않게 하기 위해 필요합니다, 이러한 경합은 실행 속도를 감소시키는 원인이 될 수 있습니다.
사용자 또는 그룹이 쿼터 제한에 도달하면, GFS2는 제한이 초과되지 않게 하기 위해 쿼터 파일 업데이트에서 동적으로 시간을 감소시킵니다. 쿼터 동기화 사이에서 일반적인 시간 주기는 가변 매개 변수 quota_quantum 으로 gfs2_tool 명령을 사용하여 변경될 수 있습니다. 기본값으로, 시간 주기는 60 초입니다. 또한 quota_quantum 매개 변수는 각각의 노드 상에 파일 시스템이 마운트될 때 마다 설정되어야 합니다. (마운트 해제를 통해 quota_quantum 매개 변수로의 변경 사항은 지속되지 않습니다.)
gfs2_quota sync 명령을 사용하여 GFS2에 의한 자동 업데이트로 노드에서 디스크 상의 쿼터 파일로 쿼터 정보를 동기화할 수 있습니다.

3.4.3.1. 사용법

Synchronizing Quota Information
gfs2_quota sync -f MountPoint
MountPoint
작업을 적용할 GFS2 파일 시스템을 지정합니다.
Tuning the Time Between Synchronizations
gfs2_tool settune MountPoint quota_quantum Seconds
MountPoint
작업을 적용할 GFS2 파일 시스템을 지정합니다.
Seconds
GFS2로 주기적 쿼터 파일 동기화에 있어서 새 시간 주기를 지정합니다. 값이 적을 수록 경합이 증가되어 실행 속도가 느려질 수 있습니다.

3.4.3.2. 예시

예에서는 노드에서 /mygfs2 파일 시스템으로 쿼터 정보를 동기화하고 있습니다.
gfs2_quota sync -f /mygfs2
예에서는 단일 노드 상의 /mygfs2 파일 시스템에 대해 주기적 쿼터 파일 업데이트의 기본값 시간 주기를 한 시간 (3600 초)로 변경하고 있습니다.
gfs2_tool settune /mygfs2 quota_quantum 3600

3.4.4. 쿼터 강제 활성화/비활성화

GFS2 파일 시스템에서 기본값으로 쿼터 강제는 비활성화되어 있습니다. 파일 시스템에 대한 쿼터 강제를 활성화하려면, quota=on 옵션을 지정하여 파일 시스템을 마운트합니다.

3.4.4.1. 사용법

mount -o quota=on BlockDevice MountPoint
쿼터 강제를 활성화하여 파일 시스템을 마운트하려면, quota=off 옵션을 지정하여 파일 시스템을 마운트합니다. 이는 기본값 설정입니다.
mount -o quota=off BlockDevice MountPoint
-o quota={on|off}
파일 시스템이 마운트되어 있을 경우 쿼터 강제를 활성화 또는 비활성화로 지정합니다.
BlockDevice
GFS2 파일 시스템이 위치할 블록 장치를 지정합니다.
MountPoint
GFS2 파일 시스템을 마운트할 디렉토리를 지정합니다.

3.4.4.2. 예시

예에서, /dev/vg01/lvol0에 있는 GFS2 파일 시스템은 쿼터 강제가 활성화된 /mygfs2 디렉토리에 마운트되어 있습니다.
mount -o quota=on /dev/vg01/lvol0 /mygfs2

3.4.5. 쿼터 계산 활성화

디스크 사용량을 추적하여 제한이나 경고 값을 강제하지 않고 모든 사용자 및 그룹에 대한 쿼터 계산을 관리할 수 있습니다. 이를 실행하려면, quota=account 옵션을 지정하여 파일 시스템을 마운트합니다.

3.4.5.1. 사용법

mount -o quota=account BlockDevice MountPoint
-o quota=account
쿼터 제한이 강제되어 있지 않을 지라도 사용자 및 그룹 사용량 통계가 파일 시스템에 의해 관리되도록 지정합니다.
BlockDevice
GFS2 파일 시스템이 위치할 블록 장치를 지정합니다.
MountPoint
GFS2 파일 시스템을 마운트할 디렉토리를 지정합니다.

3.4.5.2. 예시

예에서, /dev/vg01/lvol0에 있는 GFS2 파일 시스템은 쿼터 계산 활성화를 사용하여 /mygfs2 디렉토리에 마운트되어 있습니다.
mount -o quota=account /dev/vg01/lvol0 /mygfs2

3.5. 파일 시스템 확장하기

파일 시스템이 위치한 장치를 확장한 후, gfs2_grow 명령을 사용하여 GFS2 파일 시스템을 확장합니다. 기존 GFS2 파일 시스템에서 gfs2_grow 명령을 실행하여 현재 파일 시스템의 끝과 새로 초기화된 GFS2 파일 시스템이 확장된 장치 끝 사이의 모든 여유 공간을 채웁니다. 채우기 작업이 완료되면, 파일 시스템의 리소스 색인이 업데이트됩니다. 그 후 클러스터에 있는 모든 노드는 추가된 저장 장치 공간을 사용할 수 있게 됩니다.
gfs2_grow 명령은 마운트된 파일 시스템에서 실행되어야 하지만, 클러스터에 있는 하나의 노드에서만 실행되어야 합니다. 모든 다른 노드는 확장 작업이 실행되었음을 감지하고 자동으로 새 공간을 사용합니다.

3.5.1. 사용법

gfs2_grow MountPoint
MountPoint
작업을 적용할 GFS2 파일 시스템을 지정합니다.

3.5.2. 주석

gfs2_grow 명령을 실행하기 전:
  • 파일 시스템에 있는 중요한 데이터를 백업합니다.
  • df MountPoint 명령을 실행하여 확장된 파일 시스템에 의해 사용되는 볼륨을 지정합니다.
  • Expand the underlying cluster volume with LVM. For information on administering LVM volumes, see the LVM Administrator's Guide
gfs2_grow 명령을 실행한 후, df 명령을 실행하여 현재 파일 시스템에서 새 공간을 사용할 수 있는 지를 확인합니다.

3.5.3. 예시

예에서, /mygfs2fs 디렉토리에 있는 파일 시스템이 확장되었습니다.
[root@dash-01 ~]# gfs2_grow /mygfs2fs
FS: Mount Point: /mygfs2fs
FS: Device:      /dev/mapper/gfs2testvg-gfs2testlv
FS: Size:        524288 (0x80000)
FS: RG size:     65533 (0xfffd)
DEV: Size:       655360 (0xa0000)
The file system grew by 512MB.
gfs2_grow complete.

3.5.4. 전체 사용법

gfs2_grow [Options] {MountPoint | Device} [MountPoint | Device]

MountPoint
GFS2 파일 시스템이 마운트된 디렉토리를 지정합니다.
Device
파일 시스템의 장치 노드를 지정합니다.
표 3.3. “파일 시스템을 확장하는 동안에 사용 가능한 GFS2 특정 옵션 ” describes the GFS2-specific options that can be used while expanding a GFS2 file system.

표 3.3. 파일 시스템을 확장하는 동안에 사용 가능한 GFS2 특정 옵션

옵션 설명
-h 도움말. 사용법에 대한 간단한 메세지를 보여줍니다.
-q 정숙 모드. 상세 정보 레벨을 낮춥니다.
-r MegaBytes 새 리소스 그룹 크기를 지정합니다. 기본값 크기는 256MB입니다.
-T 테스트. 모든 계산을 실행하지만, 디스크에 어떤 데이터도 작성하지 않으며 파일 시스템을 확장하지 않습니다.
-V 명령 버전 정보를 보여줍니다.

3.6. 파일 시스템에 저널 추가

gfs2_jadd 명령을 사용하여 GFS2 파일 시스템에 저널을 추가합니다. 기본적인 논리 볼륨을 확장하지 않고 아무 지점에서 GFS2 파일 시스템을 저널에 동적으로 추가할 수 있습니다. gfs2_jadd 명령은 마운트된 파일 시스템에서 실행되어야 하지만 클러스터에 있는 하나의 노드에서만 실행되어야 합니다. 모든 다른 노드는 확장 작업이 이루어졌음을 감지하게 됩니다.
GFS 파일 시스템에 저널을 추가하기 전, gfs2_tooljournals 옵션을 사용하여 현재 GFS2 파일 시스템에 있는 저널 수를 알 수 있습니다. 다음 예에서는 /mnt/gfs2에 마운트된 파일 시스템에 있는 저널 수 및 크기를 보여주고 있습니다.
[root@roth-01 ../cluster/gfs2]# gfs2_tool journals /mnt/gfs2
journal2 - 128MB
journal1 - 128MB
journal0 - 128MB
3 journal(s) found.

3.6.1. 사용법

gfs2_jadd -j Number MountPoint
Number
추가될 새 저널 수를 지정합니다.
MountPoint
GFS2 파일 시스템이 마운트된 디렉토리를 지정합니다.

3.6.2. 예시

예에서, 하나의 저널이 /mygfs2 디렉토리에 있는 파일 시스템에 추가되어 있습니다.
gfs2_jadd -j1 /mygfs2
예에서, /mygfs2 디렉토리에 있는 파일 시스템으로 두 개의 저널이 추가되었습니다.
gfs2_jadd -j2 /mygfs2

3.6.3. 전체 사용법

gfs2_jadd [Options] {MountPoint | Device} [MountPoint | Device]
MountPoint
GFS2 파일 시스템이 마운트된 디렉토리를 지정합니다.
Device
파일 시스템의 장치 노드를 지정합니다.
표 3.4. “저널 추가 시 사용 가능한 GFS2 특정 옵션 ” describes the GFS2-specific options that can be used when adding journals to a GFS2 file system.

표 3.4. 저널 추가 시 사용 가능한 GFS2 특정 옵션

플래그 매개 변수 설명
-h 도움말. 사용법에 대한 간단한 메세지를 보여줍니다.
-J MegaBytes 메가 바이트 단위로 새 저널 크기를 지정합니다. 기본값 저널 크기는 128 메가바이트입니다. 최소 크기는 32 메가바이트입니다. 파일 시스템에 다른 크기의 저널을 추가하려면, 각각의 저널 크기에 대해 gfs2_jadd 명령을 실행해야 합니다. 지정된 크기는 반내림되어 파일 시스템 생성시 지정된 다수의 저널 세그먼트 크기가 됩니다.
-j Number gfs2_jadd 명령으로 추가할 새 저널 수를 지정합니다. 기본값은 1입니다.
-q 정숙 모드. 상세 정보 레벨을 낮춥니다.
-V 명령 버전 정보를 보여줍니다.

3.7. 데이터 저널링

Ordinarily, GFS2 writes only metadata to its journal. File contents are subsequently written to disk by the kernel's periodic sync that flushes file system buffers. An fsync() call on a file causes the file's data to be written to disk immediately. The call returns when the disk reports that all data is safely written.
특히 파일이 작을 경우, 파일 데이터는 메타 데이터 이외에 저널에 작성되므로, 데이터 저널링으로 fsync() 시간을 감소시킬 수 있습니다. 데이터가 저널에 작성되는 데로 fsync()가 반환되어, 결과적으로 주 파일 시스템에 파일 데이터를 작성하는 데 소요되는 시간보다 더 빠르게 될 수 있습니다.
파일 데이터를 동기화하기 위해 fsync()에 의존하는 어플리케이션은 데이터 저널링 사용으로 인해 성능이 향상되었음을 확인할 수 있습니다. 플래그된 디렉토리 (및 모든 하부 디렉토리)에 생성된 데이터 GFS2 파일에 대해 저널링은 자동으로 활성화될 수 있습니다. 0 값을 갖는 기존 파일은 데이터 저널링을 활성화 또는 비활성화시킬 수 있습니다.
Enabling data journaling on a directory sets the directory to "inherit jdata", which indicates that all files and directories subsequently created in that directory are journaled. You can enable and disable data journaling on a file or a directory with either of the following methods:
  • 파일 또는 디렉토리에 chattr +j 또는 chattr -j 명령 실행
  • gfs2_tool setflag 또는 gfs2_tool clearflag 명령과 함게 파일 또는 디렉토리에 jdata 플래그 설정 또는 삭제
chattr 명령을 사용하는 것은 파일 또는 디렉토리에서 데이터 저널링을 활성화 및 비활성화하기 위해 선호되는 방식입니다.

3.7.1. chattr 명령으로 데이터 저널링 활성화 및 비활성화

chattr 명령을 사용하여 파일에 데이터 저널링을 활성화 및 비활성화할 수 있습니다. 다음의 명령으로 /mnt/gfs2/gfs2_dir/newfile 파일에 있는 데이터 저널링을 활성화한 후 플래그가 올바르게 설정되어 있는 지를 확인합니다.
[root@roth-01 ~]# chattr +j /mnt/gfs2/gfs2_dir/newfile
[root@roth-01 ~]# lsattr /mnt/gfs2/gfs2_dir
---------j--- /mnt/gfs2/gfs2_dir/newfile
다음의 명령으로 /mnt/gfs2/gfs2_dir/newfile 파일에 있는 데이터 저널링을 비활성화한 후 플래그가 올바르게 설정되어 있는 지를 확인합니다.
[root@roth-01 ~]# chattr -j /mnt/gfs2/gfs2_dir/newfile
[root@roth-01 ~]# lsattr /mnt/gfs2/gfs2_dir
------------- /mnt/gfs2/gfs2_dir/newfile
디렉토리에 j 플래그를 설정하기 위해 chattr를 사용할 수 있습니다. 디렉토리에 이러한 플래그가 설정되어 있을 때, 결과적으로 디렉토리에 생성된 모든 파일 및 디렉토리는 저널링됩니다. 다음의 명령은 gfs2_dir 디렉토리에 j 플래그를 설정하고, 플래그가 올바르게 설정되어 있는 지를 확인합니다. 그 후, 이러한 명령은 /mnt/gfs2/gfs2_dir 디렉토리에 newfile이라는 새 파일을 생성한 후 파일에 j 플래그가 설정되었는 지를 확인합니다. 디렉토리에 j 플래그가 설정된 후, newfile에 대한 저널링을 활성화해야 합니다.
[root@roth-01 ~]# chattr -j /mnt/gfs2/gfs2_dir
[root@roth-01 ~]# lsattr /mnt/gfs2
---------j--- /mnt/gfs2/gfs2_dir
[root@roth-01 ~]# touch /mnt/gfs2/gfs2_dir/newfile
[root@roth-01 ~]# lsattr /mnt/gfs2/gfs2_dir
---------j--- /mnt/gfs2/gfs2_dir/newfile

3.7.2. gfs2_tool 명령으로 데이터 저널링 활성화 및 비활성화

다음의 명령으로 /mnt/gfs2/gfs2file GFS2 파일에 데이터 저널링을 활성화합니다.
[root@roth-01 ~]# gfs2_tool setflag jdata /mnt/gfs2/gfs2file 
lsattr 명령을 사용하여 jdata 플래그가 설정되어 있는지 확인할 수 있습니다.
[root@roth-01 ~]# lsattr /mnt/gfs2
---------j--- /mnt/gfs2/gfs2file
디렉토리에 gfs2file 플래그가 설정되어 있을 경우, 결과적으로 디렉토리에 생성된 모든 파일 및 디렉토리는 저널링됩니다.
다음의 명령으로 /mnt/gfs2 디렉토리에 gfs2_dir라는 새로운 하부 디렉토리를 생성하고, 디렉토리에 jdata 플래그를 설정한 후, 플래그가 올바르게 설정되었는 지를 확인합니다. 그 후, 이러한 명령은 디렉토리에 gfs2file 파일을 생성한 후 파일해 대한 플래그가 올바르게 설정되었는지를 확인합니다.
[root@roth-01 ~]# mkdir /mnt/gfs2/gfs2_dir
[root@roth-01 ~]# gfs2_tool setflag jdata /mnt/gfs2/gfs2_dir
[root@roth-01 ~]# lsattr /mnt/gfs2
---------j--- /mnt/gfs2/gfs2_dir
[root@roth-01 ~]# touch /mnt/gfs2/gfs2_dir/newfile
[root@roth-01 ~]# lsattr /mnt/gfs2/gfs2_dir
---------j--- /mnt/gfs2/gfs2_dir/newfile
다음의 예에서와 같이, 파일이나 디렉토리에서 jdata 플래그를 삭제하기 위해 gfs2_tool clearflag jdata 명령을 사용할 수 있습니다.
[root@roth-01 ~]# gfs2_tool clearflag jdata /mnt/gfs2/gfs2file 
[root@roth-01 ~]# lsattr /mnt/gfs2
------------- /mnt/gfs2/gfs2file

3.8. atime 업데이트 설정

각각의 파일 inode 및 디렉토리 inode에는 다음과 같은 세 개의 타임 스탬프가 있습니다:
  • ctime — 마지막으로 inode 상태가 변경된 시간
  • mtime — 마지막으로 파일 (또는 디렉토리) 데이터가 수정된 시간
  • atime — 마지막으로 파일 (또는 디렉토리) 데이터가 액세스된 시간
atime 업데이트가 기본값으로 GFS2 및 다른 Linux 파일 시스템에서 처럼 활성화되어 있을 경우 파일을 읽을 때 마다, inode을 업데이트해야 합니다.
일부 어플리케이션은 atime에서 제공한 정보를 사용하기 때문에, 이러한 업데이트에서 상당한 량의 불필요한 쓰기 트래픽 및 파일 잠금 트래픽을 요청할 수 있습니다. 이러한 트래픽으로 성능이 감소될 수 있으므로 atime 업데이트를 비활성화시키거나 업데이트 빈도수를 감소시키는 것이 좋습니다.
atime 업데이트의 효과를 감소시키는 두 가지 방법이 있습니다:
  • 이전 atime 업데이트가 mtime 또는 ctime 업데이트보다 오래된 것일 경우, atime을 업데이트하는 relatime (relative atime)으로 마운트하기
  • 파일 시스템에서 atime 업데이트를 비활성화하는 noatime으로 마운트하기

3.8.1. relatime으로 마운트하기

relatime (relative atime) Linux 마운트 옵션은 파일 시스템을 마운트할 때 지정할 수 있습니다. 이는 이전 atime 업데이트가 mtime 또는 ctime 업데이트 보다 오래된 것일 경우 atime이 업데이트되도록 지정합니다.

3.8.1.1. 사용법

mount  BlockDevice MountPoint -o relatime
BlockDevice
GFS2 파일 시스템이 위치할 블록 장치를 지정합니다.
MountPoint
GFS2 파일 시스템을 마운트할 디렉토리를 지정합니다.

3.8.1.2. 예시

예에서, GFS2 파일 시스템은 /dev/vg01/lvol0에 위치하여 /mygfs2 디렉토리에 마운트되어 있습니다. 이전 atime 업데이트가 mtime 또는 ctime 업데이트 보다 오래된 것일 경우에만 atime이 업데이트됩니다.
mount /dev/vg01/lvol0 /mygfs2 -o relatime

3.8.2. noatime으로 마운트하기

파일 시스템이 마운트되어 있을 경우 noatimeLinux 마운트 옵션을 지정할 수 있으며, 이는 파일 시스템에서 atime 업데이트를 비활성화합니다.

3.8.2.1. 사용법

mount BlockDevice MountPoint -o noatime
BlockDevice
GFS2 파일 시스템이 위치할 블록 장치를 지정합니다.
MountPoint
GFS2 파일 시스템을 마운트할 디렉토리를 지정합니다.

3.8.2.2. 예시

예에서, GFS2 파일 시스템은 /dev/vg01/lvol0에 위치하고 있으며 atime 업데이트를 비활성화하여 /mygfs2 디렉토리에 마운트되어 있습니다.
mount /dev/vg01/lvol0 /mygfs2 -o noatime

3.9. 파일 시스템에 있는 작업 중지하기

gfs2_tool freeze 명령을 사용하여 파일시스템에 쓰기 작업을 중지할 수 있습니다. 쓰기 작업을 중지하면 하드웨어 기반 장치 스냅샷이 일관성있게 파일 시스템을 캡쳐하는데 사용됩니다. gfs2_tool unfreeze 명령으로 작업 중지 상태를 종료합니다.

3.9.1. 사용법

Start Suspension
gfs2_tool freeze MountPoint
End Suspension
gfs2_tool unfreeze MountPoint
MountPoint
파일 시스템을 지정합니다.

3.9.2. 예시

예에서는 /mygfs2 파일 시스템에 쓰기 작업을 중지하고 있습니다.
gfs2_tool freeze /mygfs2
예에서 /mygfs2 파일 시스템에 쓰기 작업 중지를 종료하고 있습니다.
gfs2_tool unfreeze /mygfs2

3.10. 파일 시스템 복구

노드가 파일 시스템 마운트를 실패했을 경우, 파일 시스템 저널링은 빠른 복구를 허용합니다. 하지만, 저장 장치에 전력이 없거나 물리적으로 접속되지 않았을 경우, 파일 시스템이 손상될 수 있습니다. (저장 장치 하부 시스템에서의 장애를 복구하기 위해 저널링을 사용할 수 없습니다.) 이러한 문제가 발생하면, fsck.gfs2 명령을 사용하여 GFS2 파일 시스템을 복구할 수 있습니다.

주의

fsck.gfs2 명령은 모든 노드에서 마운트 해제된 파일 시스템에서만 실행되어야 합니다.

참고

이전에 GFS 파일 시스템에서 gfs_fsck 명령을 사용해 보셨을 경우, 다음과 같은 방식에서 fsck.gfs2 명령은 이전 gfs_fsck 릴리즈와 다르다는 점에 유의하시기 바랍니다.
  • Ctrl+C를 사용하여 대화식 모드를 설정할 수 없습니다. Ctrl+C를 누르면 fsck.gfs2 명령을 취소하게 됩니다. 명령을 취소하지 않으시려면 Ctrl+C를 누르지 마십시오.
  • -v 플래그를 사용하여 상세 정보 레벨을 증가시킬 수 있습니다. 두 번째 -v 플래그를 추가하면 상세 정보 레벨을 증가시키게 됩니다.
  • -q 플래그를 사용하여 상세 정보 레벨을 감소시킬 수 있습니다. 두 번째 -q 플래그를 추가하면 상세 정보 레벨을 감소시키게 됩니다.
  • -n 옵션은 파일 시스템을 읽기 전용으로 열어 질의에 대해 no라고 자동 답변하게 합니다. 이 옵션은 실질적으로 fsck.gfs2 명령을 실행하지 않고 오류를 드러내기 위해 명령을 사용하는 방법을 제공합니다.
기타 다른 명령 옵션에 대한 추가 정보는 gfs2.fsck 맨 페이지를 참조하시기 바랍니다.

3.10.1. 사용법

fsck.gfs2 -y BlockDevice
-y
-y 플래그는 모든 질의에 대해 yes라고 답변하게 합니다. -y 플래그를 지정하면, fsck.gfs2 명령은 변경 사항을 적용하기 전 답변을 요청하지 않게 됩니다.
BlockDevice
GFS2 파일 시스템이 위치할 블록 장치를 지정합니다.

3.10.2. 예시

예에서, /dev/testvol/testlv 블록 장치에 있는 GFS2 파일 시스템이 복구되어 있습니다. 복구를 위한 모든 질의는 자동으로 yes라고 답변하게 되어 있습니다.
[root@dash-01 ~]# fsck.gfs2 -y /dev/testvg/testlv
Initializing fsck
Validating Resource Group index.
Level 1 RG check.
(level 1 passed)
Clearing journals (this may take a while)...
Journals cleared.
Starting pass1
Pass1 complete
Starting pass1b
Pass1b complete
Starting pass1c
Pass1c complete
Starting pass2
Pass2 complete
Starting pass3
Pass3 complete
Starting pass4
Pass4 complete
Starting pass5
Pass5 complete
Writing changes to disk
fsck.gfs2 complete

3.11. 바인드 마운트 및 문맥 의존적 경로 이름

GFS2 파일 시스템은 문맥 의존적 경로 이름 (CDPN)을 지원하지 않고, 가변 목적 파일이나 디렉토리로의 심볼릭 링크를 생성하게 합니다. GFS2에서의 이러한 기능을 위해 mount 명령의 bind 옵션을 사용할 수 있습니다.
mount 명령의 bind 옵션은 파일의 본래 위치에서 사용하면서 동시에 다른 위치에 파일 구조의 일부분을 다시 마운트할 수 있게 합니다. 이 명령의 포맷은 다음과 같습니다.
mount --bind olddir newdir
이러한 명령을 실행한 후, olddir 디렉토리의 내용물은 olddirnewdir에서 사용할 수 있게 됩니다. 또한 이 옵션을 사용하여 이 두 개의 디렉토리에서 개별적 파일을 사용 가능하게 할 수 있습니다.
예에서, 다음과 같은 명령을 실행한 후 /root/tmp 내용물은 이전에 마운트된 /var/log 디렉토리의 내용물과 동일하게 됩니다.
[root@menscryfa ~]# cd ~root
[root@menscryfa ~]# mkdir ./tmp
[root@menscryfa ~]# mount --bind /var/log /tmp
다른 방법으로, 마운트 시 동일한 결과를 아카이브하기 위해 /etc/fstab 파일에 있는 항목을 사용할 수 있습니다. 다음의 /etc/fstab 항목은 /root/tmp의 내용물이 /var/log 디렉토리의 내용물과 일치하게 합니다.
/var/log                /root/tmp               none    bind            0 0
다음의 예에서와 같이, 파일 시스템을 마운트한 후에, mount 명령을 사용하여 파일 시스템이 마운트되었는 지를 확인할 수 있습니다.
[root@menscryfa ~]# mount | grep /tmp
/var/log on /root/tmp type none (rw,bind)
문맥 의존적 경로 이름을 지원하는 파일 시스템을 사용하여, 시스템 아키텍처에 따라, 다음과 같은 경로 중 하나로 /bin 디렉토리를 문맥 의존적 경로 이름으로 지정할 수 있습니다.
/usr/i386-bin
/usr/x86_64-bin
/usr/ppc64-bin
비어있는 /bin 디렉토리를 생성하여 이러한 동일한 기능을 아카이브할 수 있습니다. 그 후, 스크립트나 /etc/fstab 파일에 있는 항목을 사용하여, mount -bind 명령으로 각각의 개별적 아키텍쳐 디렉토리를 /bin 디렉토리로 마운트할 수 있습니다. 예를 들어, 스크립트에 다음과 같은 명령행을 사용합니다.
mount --bind /usr/i386-bin /bin
다른 방법으로, /etc/fstab 파일에서 다음과 같은 항목을 사용할 수 있습니다.
/usr/1386-bin             /bin               none    bind            0 0
바인드 마운트는 지정한 기준 (예: 파일 시스템에 대한 %fill 값)에 따라 다른 디렉토리를 마운트할 수 있게 하므로 문맥 의존적 경로 이름보다 더 방대한 유연성을 제공하며, 문맥 의존적 경로 이름은 보다 제한적으로 사용됩니다. 하지만, %fill 값과 같은 기준이 따라 마운트하기 위해 스크립트를 직접 작성해야 함에 유의하셔야 합니다.

주의

bind 옵션을 사용하여 파일 시스템을 마운트하며 원래 파일 시스템은 rw 마운트되어 있을 때, ro 플래그를 사용해도 ro 플래그는 무시되어 새 파일 시스템은 rw 마운트됩니다. 이러한 경우, 새 파일 시스템은 /proc/mounts 디렉토리에 ro라고 표시되므로, 잘못 인식될 수 있습니다.

부록 A. GFS에서 GFS2로 파일 시스템 변경

gfs2_convert 명령을 사용하여 GFS 파일시스템을 GFS2 파일 시스템으로 변경합니다.
  1. 클러스터에 있는 모든 노드에서 GFS 파일 시스템을 마운트 해제합니다.
  2. GFS 파일 시스템에서 gfs_fsck 명령을 실행하여 손상된 파일 시스템이 없는 지를 확인합니다.
  3. 다시 마운트한 후 기존 GFS 파일 시스템을 백업합니다.
  4. 파일 시스템을 마운트 해제하고 gfs2_convert gfsfilesystem을 실행합니다. gfsfilesystem을 GFS2로 변경하기 전시스템에 경고 메세지가 나타나서 확인 질문을 하게 됩니다.
다음의 예에서는 블록 장치 /dev/testvg/testlv에 있는 GFS 파일 시스템을 GFS2 파일 시스템으로 변환하고 있습니다.
[root@dash-01 ~]# gfs2_convert /dev/testvg/testlv
gfs2_convert version 2 (built Sep 25 2007 12:41:29)
Copyright (C) Red Hat, Inc.  2004-2006  All rights reserved.

This program will convert a gfs1 filesystem to a gfs2 filesystem.
WARNING: This can't be undone.  It is strongly advised that you:

   1. Back up your entire filesystem first.
   2. Run gfs_fsck first to ensure filesystem integrity.
   3. Make sure the filesystem is NOT mounted from any node.
   4. Make sure you have the latest software versions.
Convert /dev/testvg/testlv from GFS1 to GFS2? (y/n)y
Converting resource groups.
Converting inodes.
6 inodes converted.
Fixing file and directory information.
1 directories, 2 dirents fixed.
Converting journals.
Converting journal space to rg space.
Building system structures.
Removing obsolete gfs1 structures.
Committing changes to disk.
/dev/gfs2testvg/gfs2testlv: filesystem converted successfully to gfs2.
[root@dash-01 ~]#

부록 B. 개정 내역

고친 과정
고침 3-10.4002013-10-31Rüdiger Landmann
Rebuild with publican 4.0.0
고침 3-102012-07-18Anthony Towns
Rebuild for Publican 3.0
고침 1.0-0Thu Jan 29 2009

색인

A

adding journals to a file system, 파일 시스템에 저널 추가
atime, configuring updates, atime 업데이트 설정
mounting with noatime , noatime으로 마운트하기
mounting with relatime , relatime으로 마운트하기
audience, 대상 그룹

C

configuration, before, GFS2 설정 전
configuration, initial, 시작하기
prerequisite tasks, 선수 작업

D

data journaling, 데이터 저널링

F

feedback, 피드백
file system
adding journals, 파일 시스템에 저널 추가
atime, configuring updates, atime 업데이트 설정
mounting with noatime , noatime으로 마운트하기
mounting with relatime , relatime으로 마운트하기
bind mounts, 바인드 마운트 및 문맥 의존적 경로 이름
context-dependent path names (CDPNs), 바인드 마운트 및 문맥 의존적 경로 이름
data journaling, 데이터 저널링
growing, 파일 시스템 확장하기
making, 파일 시스템 작성
mounting, 파일 시스템 마운트
quota management, GFS2 쿼터 관리
displaying quota limits, 쿼터 제한 및 사용량 보기
enabling quota accounting, 쿼터 계산 활성화
enabling/disabling quota enforcement, 쿼터 강제 활성화/비활성화
setting quotas, 쿼터 설정
synchronizing quotas, 쿼터 동기화하기
repairing, 파일 시스템 복구
suspending activity, 파일 시스템에 있는 작업 중지하기
unmounting, 파일 시스템 마운트 해제

G

GFS2
atime, configuring updates, atime 업데이트 설정
mounting with noatime , noatime으로 마운트하기
mounting with relatime , relatime으로 마운트하기
managing, GFS2 관리
quota management, GFS2 쿼터 관리
displaying quota limits, 쿼터 제한 및 사용량 보기
enabling quota accounting, 쿼터 계산 활성화
enabling/disabling quota enforcement, 쿼터 강제 활성화/비활성화
setting quotas, 쿼터 설정
synchronizing quotas, 쿼터 동기화하기
GFS2 file system maximum size, GFS2 개요
GFS2-specific options for adding journals table, 전체 사용법
GFS2-specific options for expanding file systems table, 전체 사용법
growing a file system, 파일 시스템 확장하기

I

initial tasks
setup, initial, 초기 설정 작업
introduction, 소개
audience, 대상 그룹

M

making a file system, 파일 시스템 작성
managing GFS2, GFS2 관리
maximum size, GFS2 file system, GFS2 개요
mkfs.gfs2 command options table, 전체 옵션
mount table, 전체 사용법
mounting a file system, 파일 시스템 마운트

O

overview, GFS2 개요
configuration, before, GFS2 설정 전

P

path names, context-dependent (CDPNs), 바인드 마운트 및 문맥 의존적 경로 이름
preface (살펴볼 내용 introduction)
prerequisite tasks
configuration, initial, 선수 작업

Q

quota management, GFS2 쿼터 관리
displaying quota limits, 쿼터 제한 및 사용량 보기
enabling quota accounting, 쿼터 계산 활성화
enabling/disabling quota enforcement, 쿼터 강제 활성화/비활성화
setting quotas, 쿼터 설정
synchronizing quotas, 쿼터 동기화하기

R

repairing a file system, 파일 시스템 복구

S

setup, initial
initial tasks, 초기 설정 작업
suspending activity on a file system, 파일 시스템에 있는 작업 중지하기

T

tables
GFS2-specific options for adding journals, 전체 사용법
GFS2-specific options for expanding file systems, 전체 사용법
mkfs.gfs2 command options, 전체 옵션
mount options, 전체 사용법

U

unmounting a file system, 파일 시스템 마운트 해제

법적 공지

Copyright © 2009 Red Hat Inc..
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.