no image
[Python] print 함수 기본 사용법
목차 단일 인수 여러 인수 사용자 지정 구분 기호 줄 끝 문자열이 아닌 객체 출력 줄바꾸기 print() 함수는 지정된 메시지를 화면이나 다른 표준 출력 장치에 표시하는 데 사용되는 내장 함수입니다. 메시지는 문자열이나 다른 개체일 수 있습니다. print() 함수는 객체를 표시하기 전에 객체를 문자열 표현으로 변환합니다. 먼저 해당 포스팅은 VScode를 이용했으며, 파이썬 파일을 실행할 때에는 아래 사진처럼 재생 버튼을 눌러주면 작성한 파이썬이 작동됩니다. 다음은 예시와 함께 print() 함수에 대한 자세한 설명입니다. 단일 인수 print() 함수를 사용하는 가장 간단한 방법은 출력으로 표시될 단일 인수를 제공하는 것입니다. print("Hello, World!") 출력: Hello, World!..
2023.04.18
[Linux 명령어] 실무에서 많이 사용하는 텍스트 필터링하여 검색하기 (grep)
grep grep 명령은 텍스트를 검색하고 필터링하는 데 사용되는 Linux의 강력하고 다양한 도구입니다. "Global Regular Expression Print"의 약자입니다. 정규식을 활용하여 grep은 파일 또는 텍스트 스트림 내에서 특정 패턴을 검색하고 일치하는 항목이 포함된 줄을 인쇄할 수 있습니다. 특정 패턴을 필터링해 출력해주기 때문에 트러블 슈팅과 같은 작업에서 많이 사용된다고 합니다. 실무에서는 엄청난 개수의 컨테이너를 활용하거나, 컨테이너가 아니더라도 많은 수의 작업을 진행하게 되고, 여기서 뭐가 문제인지 찾는 것은 굉장히 힘들고 고된 작업이니다. 때문에 그나마 조금 더 수월한 작업을 위해 grep명령어를 사용해 주는 것 입니다. 간단하지만 정말정말 중요합니다! 간단하지만 꼭 알아주..
2023.03.30
[Linux 명령어] 다양한 관리가 가능한 명령어 (samba)
목차 Samba 특징 설치 및 연결 명령어 사용 예시 관련 명령어 사용예 Samba Samba 명령어는 Samba 공유, 프린터 및 사용자 계정을 관리하는 데 사용되는 명령줄 도구다. Samba는 Windows와 Linux/Unix 기반 시스템 간에 파일 및 프린터 공유를 가능하게 하는 오픈 소스 소프트웨어 제품군이다. Samba 명령어는 Samba의 다양한 측면을 관리하는 데 사용할 수 있는 유틸리티 세트를 제공한다. Samba 명령어를 사용하여 수행할 수 있는 일반적인 작업에는 SMB 암호 변경, 생성 또는 삭제, Samba 구성 파일의 구문 테스트, 네트워크에서 NetBIOS 이름 조회, 도메인 가입, 공유 및 사용자 계정 관리, Samba 데몬에 신호를 보내고 smbclient 유틸리티를 사용하여..
2023.03.26
[Linux 명령어] 다양한 기능이 있는 다운로드 유틸리티 (wget)
wget wget 명령어는 인터넷에서 파일을 다운로드하기 위한 명령줄 유틸리티다. HTTP, HTTPS, FTP 등 다양한 네트워크 프로토콜을 지원한다. 이 명령어는 견고성과 내결함성을 위해 Linux, macOS 및 기타 Unix와 유사한 운영 체제에서 널리 사용된다. wget의 주요 기능에는 느리거나 불안정한 네트워크 연결 처리, 실패한 다운로드 재시도, 중단된 다운로드 재개 등이 있다. 또한 재귀적으로 파일을 다운로드하고, 특정 파일 유형을 필터링하고, 다운로드 속도를 제한하고, 다운로드 디렉토리를 지정하는 옵션을 제공한다. wget 설치 Ubuntu / Debian sudo apt update && sudo apt install wget CentOS / RHEL sudo yum install wg..
2023.03.25
no image
[Storage 이론] NFS(Network File System)를 이용한 스토리지 관리 + fstab 편집 요령
목차 NFS 주요 기능 fstab 수정 요령 NFS를 통한 설정 NFS NFS(Netwrok File System)는 컴퓨터가 로컬 하드 드라이브에 있는 것처럼 네트워크를 통해 파일에 액세스하고 공유할 수 있도록 하는 분산 파일 시스템 프로토콜이다. NFS는 1980년대에 Sun Microsystems에서 개발했으며 현재 Unix 및 Linux 기반 시스템은 물론 macOS 및 Windows(추가 소프트웨어 포함)와 같은 다른 운영 체제에서도 널리 사용되고 있다. NFS는 클라이언트-서버 모델에서 작동한다. 여기서 NFS 서버는 네트워크를 통해 이러한 공유 리소스를 마운트하고 액세스하는 클라이언트로 디렉토리와 파일을 내보낸다(공유). 이를 통해 여러 사용자와 시스템이 동시에 공유 파일에 대해 작업할 수 ..
2023.03.25
[Linux 명령어] 스토리지 관리 명령어 (stratis)
Stratis으로 스토리지 관리 Stratis는 Red Hat 및 업스트림 Fedora 커뮤니티에서 개발한 로컬 스토리지 관리 툴이다. Stratis를 사용하 면 스토리지 초기 구성 수행, 스토리지 구성 변경, 고급 스토리지 기능 사용이 더 쉬워진다. Stratis는 물리적 스토리지 장치 풀을 관리하는 서비스로 실행되며, 새로 생성된 파일 시스템의 볼륨을 투명하 게 생성 및 관리한다. Stratis는 씬 프로비저닝이라는 개념을 사용하여 디스크 장치의 공유 풀에서 파일 시스템을 빌드한다. 파일 시스템을 생성할 때 물리적 스토리지 공간을 즉시 할당하는 대신, Stratis에서는 파일 시스템에서 추가 데이터 를 저장할 때 풀에서 공간을 동적으로 할당한다. 따라서 파일 시스템의 크기가 1TiB로 표시될 수 있지..
2023.03.25
반응형

목차

  1. 단일 인수
  2. 여러 인수
  3. 사용자 지정 구분 기호
  4. 줄 끝
  5. 문자열이 아닌 객체 출력
  6. 줄바꾸기

print() 함수는 지정된 메시지를 화면이나 다른 표준 출력 장치에 표시하는 데 사용되는 내장 함수입니다. 메시지는 문자열이나 다른 개체일 수 있습니다. print() 함수는 객체를 표시하기 전에 객체를 문자열 표현으로 변환합니다. 먼저 해당 포스팅은 VScode를 이용했으며, 파이썬 파일을 실행할 때에는 아래 사진처럼 재생 버튼을 눌러주면 작성한 파이썬이 작동됩니다.


다음은 예시와 함께 print() 함수에 대한 자세한 설명입니다.


단일 인수

print() 함수를 사용하는 가장 간단한 방법은 출력으로 표시될 단일 인수를 제공하는 것입니다.

print("Hello, World!")

출력: Hello, World!


여러 인수

print() 함수에 여러 인수를 쉼표로 구분하여 전달할 수 있습니다. 기본적으로 인수는 출력에서 ​​공백으로 구분됩니다.

print("Hello,", "World!")

출력: Hello, World!

print("Hello",",","my","Python")

출력: Hello , my Python


사용자 지정 구분 기호

sep 매개변수를 사용하여 인수 사이에 사용자 지정 구분 기호를 지정합니다.

print("Hello", "World!", sep="-")

출력: Hello-World!


줄 끝

기본적으로 print() 함수는 출력 끝에 개행 문자(\n)를 추가합니다. end 매개변수를 사용하여 사용자 지정 문자열을 지정하여 이 동작을 변경할 수 있습니다.

print("Hello, World!", end=" Goodbye!")

출력: Hello, World! Goodbye!

print("Hello, World!\nGoodbye!")

출력 >
Hello, World!
Goodbye!


문자열이 아닌 객체 출력

print() 함수는 문자열이 아닌 객체도 출력할 수 있습니다. 객체를 문자열 표현으로 자동 변환합니다.

number = 42
print("The answer is:", number)

출력: The answer is: 42

 

 


줄 바꾸기

print()에 아무 객체를 넣지 않으면 그 줄은 공백으로 넘어가게 됩니다.


이번 포스팅에서는 파이썬에서 자주 쓰이는 print에 대해 간단하게 알아보았습니다. 앞으로 다른 내용들을 다룰 때에도 많이 사용될 것입니다.

반응형
반응형
grep

grep 명령은 텍스트를 검색하고 필터링하는 데 사용되는 Linux의 강력하고 다양한 도구입니다. "Global Regular Expression Print"의 약자입니다. 정규식을 활용하여 grep은 파일 또는 텍스트 스트림 내에서 특정 패턴을 검색하고 일치하는 항목이 포함된 줄을 인쇄할 수 있습니다.

 

특정 패턴을 필터링해 출력해주기 때문에 트러블 슈팅과 같은 작업에서 많이 사용된다고 합니다. 실무에서는 엄청난 개수의 컨테이너를 활용하거나, 컨테이너가 아니더라도 많은 수의 작업을 진행하게 되고, 여기서 뭐가 문제인지 찾는 것은 굉장히 힘들고 고된 작업이니다. 때문에 그나마 조금 더 수월한 작업을 위해 grep명령어를 사용해 주는 것 입니다.

간단하지만 정말정말 중요합니다! 간단하지만 꼭 알아주셨으면 좋겠습니다.


명령어와 옵션

다음은 grep 명령 구문의 기본 개요입니다.

grep [options] 'pattern' [file]
  • options: grep 명령의 동작을 수정하는 선택적 플래그입니다.
  • pattern: 일반 문자열 또는 정규식일 수 있는 검색 패턴으로 작은따옴표 또는 큰따옴표로 묶습니다.
  • file: 검색할 파일입니다. 적어주지 않으면 grep은 표준 입력(stdin)을 검색합니다.

 

옵션_

-i: 대소문자를 구분하지 않고 검색합니다.
-v: 검색을 반전하여 패턴과 일치하지 않는 줄을 반환합니다.
-n: 출력에서 ​​일치하는 줄의 줄 번호를 표시합니다.
-r 또는 -R: 디렉토리를 통해 재귀 검색을 수행합니다.
-E: 확장 정규 표현식 사용을 활성화합니다.
-c: 실제 줄 대신 일치하는 줄 수를 인쇄합니다.
-l: 실제 일치하는 줄이 아니라 일치하는 파일의 이름만 인쇄합니다.
-e: 검색할 여러 패턴을 지정할 수 있습니다.


사용 예

"log.txt"라는 파일에서 "error"라는 단어를 검색합니다.

grep 'error' log.txt


"log.txt"에서 "error"에 대한 대소문자를 구분하지 않는 검색:

grep -i 'error' log.txt


"log.txt"에서 "success"라는 단어가 포함되지 않은 줄을 찾습니다.

grep -v 'success' log.txt


"log.txt"에서 "error"라는 단어의 발생 횟수를 계산합니다.

grep -c 'error' log.txt


"log.txt"에서 "error" 또는 "warning"이 포함된 줄을 검색합니다.

grep -E 'error|warning' log.txt


"logs" 디렉터리의 모든 파일에서 "error"를 재귀적으로 검색합니다.

grep -r 'error' logs/

 

cat을 사용해 파일의 내용을 출력하는데 이 때 내용을 grep 조건에 맞춰 검색합니다.

cat someting.txt | grep someword
반응형
반응형

목차

  1. Samba
  2. 특징
  3. 설치 및 연결
  4. 명령어 사용 예시
  5. 관련 명령어
  6. 사용예

Samba

Samba 명령어는 Samba 공유, 프린터 및 사용자 계정을 관리하는 데 사용되는 명령줄 도구다. Samba는 Windows와 Linux/Unix 기반 시스템 간에 파일 및 프린터 공유를 가능하게 하는 오픈 소스 소프트웨어 제품군이다.

 

 Samba 명령어는 Samba의 다양한 측면을 관리하는 데 사용할 수 있는 유틸리티 세트를 제공한다. Samba 명령어를 사용하여 수행할 수 있는 일반적인 작업에는 SMB 암호 변경, 생성 또는 삭제, Samba 구성 파일의 구문 테스트, 네트워크에서 NetBIOS 이름 조회, 도메인 가입, 공유 및 사용자 계정 관리, Samba 데몬에 신호를 보내고 smbclient 유틸리티를 사용하여 명령줄에서 Samba 공유에 연결하고 관리한다.

 

Samba 명령어는 시스템 관리자와 최종 사용자 모두가 Samba 공유 및 기타 관련 작업을 관리하는 데 사용할 수 있는 강력한 도구다.


특징
  • 사용자 인증
    Samba는 사용자 인증을 허용하고 자체 사용자 데이터베이스, LDAP, Active Directory 등을 포함한 여러 인증 방법을 지원한다.

  • 파일 공유
    Samba는 Linux와 Windows 시스템 간에 파일과 디렉터리를 공유할 수 있으므로 두 시스템의 사용자가 공유 파일과 폴더에 액세스할 수 있다.

  • 프린터 공유
    Samba는 또한 Linux와 Windows 시스템 간에 프린터 공유를 가능하게 하여 두 시스템의 사용자가 공유 프린터에 액세스할 수 있도록 한다.

  • 크로스 플랫폼 호환성
    Samba는 Linux, Windows 및 macOS를 포함한 여러 운영 체제와 호환된다.

  • 보안
    Samba는 공유 파일 및 디렉토리의 보안을 보장하기 위해 암호 보호, 암호화 및 액세스 제어와 같은 다양한 보안 조치를 제공한다.

  • 명령줄 인터페이스
    Samba는 사용자가 Samba 공유 및 서비스를 구성하고 관리할 수 있는 명령줄 인터페이스를 통해 액세스할 수 있다.

설치 및 연결

1. Samba 클라이언트를 다운로드

Ubuntu 기반
sudo apt-get install smbclient

RedHat 기반
sudo yum install samba-client

2. Samba 활성화

1) smb와 nmb 둘다 활성화 해주어야 한다.
systemctl enable --now smb
systemctl enable --now nmb

2) 한번에 활성화 하는 명령어
systemctl enable --now smb && systemctl enable --now nmb
ssystemctl enable --now smb nmb

3. Samba에 연결

smbclient //<server>/<share> -U <username>

명령어 사용 예시
samba [options] [command] [arguments]

옵션_
-h 또는 --help: 도움말 메시지를 표시한다.
-V 또는 --version: Samba의 버전 번호를 표시한다.
-s 또는 --configfile: 사용할 Samba 구성 파일을 지정한다.
-d 또는 --debuglevel: Samba의 디버그 수준을 지정한다.
-l 또는 --log-basename: Samba에 대한 로그 파일의 이름을 지정한다.


관련 명령어
  • smbpasswd: 암호 변경, 생성 및 삭제를 포함하여 SMB 암호 조작을 허용한다.
  • testparm: Samba 구성 파일의 구문을 테스트한다.
  • nmblookup: 네트워크에서 NetBIOS 이름을 찾는다.
  • net: 도메인 가입, 공유 및 사용자 계정 관리 등과 같은 다양한 관리 작업을 허용하는 다목적 유틸리티다.
  • smbcontrol: Samba 데몬에 신호를 보내어 쉽게 관리하고 제어할 수 있도록 한다.
  • winbindd: Windows 도메인 인증 데몬으로 Linux와 Windows 시스템 간의 완벽한 인증을 허용한다.
  • smbclient: 사용자가 명령줄에서 Samba 공유에 연결하고 관리할 수 있는 명령줄 도구다.

사용예

Samba의 버전 번호를 표시

samba --version


Samba 구성 파일의 구문을 테스트

samba testparm


Samba 사용자의 비밀번호를 변경

samba smbpasswd -a username


Samba 서버에서 사용 가능한 공유를 나열

samba smbclient -L servername

반응형
반응형
wget

wget 명령어는 인터넷에서 파일을 다운로드하기 위한 명령줄 유틸리티다. HTTP, HTTPS, FTP 등 다양한 네트워크 프로토콜을 지원한다. 이 명령어는 견고성과 내결함성을 위해 Linux, macOS 및 기타 Unix와 유사한 운영 체제에서 널리 사용된다.

 

wget의 주요 기능에는 느리거나 불안정한 네트워크 연결 처리, 실패한 다운로드 재시도, 중단된 다운로드 재개 등이 있다. 또한 재귀적으로 파일을 다운로드하고, 특정 파일 유형을 필터링하고, 다운로드 속도를 제한하고, 다운로드 디렉토리를 지정하는 옵션을 제공한다.


wget 설치

Ubuntu / Debian

sudo apt update && sudo apt install wget

CentOS / RHEL

sudo yum install wget
sudo dnf install wget

사용 예시 및 옵션

1. 단일 파일 다운로드

wget http://example.com/path/to/file.txt

 

2. 특정 디렉토리에 파일 다운로드
파일을 특정 디렉토리에 다운로드하려면 -P 또는 --directory-prefix 옵션과 원하는 디렉토리 경로를 차례로 작성한다.

wget -P /path/to/directory http://example.com/path/to/file.txt

 

3. 다른 이름으로 파일 다운로드
다운로드한 파일을 다른 이름으로 저장하려면 -O 또는 --output-document 옵션 다음에 원하는 파일 이름을 작성한다.

wget -O new_file_name.txt http://example.com/path/to/file.txt

 

4. 중단된 다운로드 재개
중단된 다운로드를 재개하려면 -c 또는 --continue 옵션을 사용한다.

wget -c http://example.com/path/to/file.txt

 

5. 다운로드 속도 제한
다운로드 속도를 제한하려면 --limit-rate 옵션과 원하는 속도 제한(예: 100KB/s의 경우 100k)을 작성한다.

wget --limit-rate=100k http://example.com/path

 

6. 여러 파일 다운로드
여러 파일을 다운로드하려면 여러 URL과 함께 하나의 wget 명령어를 사용하거나 URL 목록이 포함된 텍스트 파일을 만들고 -i 또는 --input -파일 옵션을 사용한다.

wget http://example.com/path/to/file1.txt http://example.com/path/to/file2.txt

다른 방법) URL이 포함된 텍스트 파일(예: urls.txt)을 만든다.

sudo vi /path/urls.txt

http://example.com/path/to/file1.txt
http://example.com/path/to/file2.txt

그런 다음 -i 옵션을 사용하여 파일을 다운로드한다.

wget -i urls.txt

 

7. 재귀적으로 파일 다운로드
웹사이트나 FTP 서버에서 파일을 재귀적으로 다운로드하려면 -r 또는 --recursive 옵션을 사용하여라. 이렇게 하면 이미지 및 기타 파일과 같은 콘텐츠와 함께 지정된 URL이 다운로드된다.

wget -r http://example.com/path/to/website

 

8. 재귀 깊이 제어
wget 명령의 컨텍스트에서 재귀 깊이는 지정된 URL에서 파일이나 웹 페이지를 다운로드할 때 명령이 따라야 하는 최대 수준 수를 나타낸다. --recursive 옵션을 사용하는 동안 재귀 깊이를 제한하려면 -l 또는 --level 옵션 뒤에 원하는 깊이를 작성한다.

wget -r -l 1 http://example.com/path/to/website

 

9. 특정 파일 형식만 다운로드
특정 파일 형식만 다운로드하려면 -A 또는 --accept 옵션 다음에 쉼표로 구분된 파일 확장자 목록을 작성한다.

wget -r -A .jpg,.png http://example.com/path/to/website

 

10. 특정 파일 형식 제외
특정 파일 형식을 다운로드에서 제외하려면 -R 또는 --reject 옵션 다음에 쉼표로 구분된 파일 확장자 목록을 작성한다.

wget -r -R .jpg,.png http://example.com/path/to/website

 

11. 지정된 디렉토리에서만 파일 다운로드
지정된 디렉토리에서만 파일을 다운로드하려면 --include-directories 또는 --exclude-directories 옵션 다음에 쉼표로 구분된 디렉토리 목록을 작성한다.

wget -r --include-directories=dir1,dir2 http://example.com/path/to/website

 

12. 상대 링크만 따르기
기본적으로 wget은 절대 링크와 상대 링크를 모두 따른다. 상대 링크만 따라가려면 --no-parent 옵션을 사용한다.

wget -r --no-parent http://example.com/path/to/website

 

13. 재시도 횟수 제어
실패한 다운로드에 대한 재시도 횟수를 제어하려면 --tries 또는 -t 옵션 뒤에 원하는 재시도 횟수를 작성한다.

wget --tries=5 http://example.com/path/to/file.txt

 

14. 시간 초과 설정
연결 설정 또는 데이터 읽기에 대한 시간 초과를 설정하려면 --timeout 또는 -T 옵션 뒤에 원하는 시간 초과 값(초)을 작성한다.

wget --timeout=10 http://example.com/path/to/file.txt

반응형
반응형

목차

  1. NFS
  2. 주요 기능
  3. fstab 수정 요령
  4. NFS를 통한 설정

NFS

NFS(Netwrok File System)는 컴퓨터가 로컬 하드 드라이브에 있는 것처럼 네트워크를 통해 파일에 액세스하고 공유할 수 있도록 하는 분산 파일 시스템 프로토콜이다. NFS는 1980년대에 Sun Microsystems에서 개발했으며 현재 Unix 및 Linux 기반 시스템은 물론 macOS 및 Windows(추가 소프트웨어 포함)와 같은 다른 운영 체제에서도 널리 사용되고 있다.

NFS는 클라이언트-서버 모델에서 작동한다. 여기서 NFS 서버는 네트워크를 통해 이러한 공유 리소스를 마운트하고 액세스하는 클라이언트로 디렉토리와 파일을 내보낸다(공유). 이를 통해 여러 사용자와 시스템이 동시에 공유 파일에 대해 작업할 수 있으므로 협업이 향상되고 스토리지 관리가 중앙 집중화된다.

NFS는 클라이언트와 서버 간의 통신에 RPC(원격 프로시저 호출)를 사용한다. 다양한 버전을 지원하며 NFSv4는 가장 기능이 풍부한 최신 버전이다. 


주요 기능
  • 투명한 액세스
    NFS는 클라이언트가 마치 로컬에 저장된 것처럼 공유 파일에 액세스할 수 있도록 하여 원활한 경험을 제공한다.

  • 캐싱
    NFS 클라이언트는 파일 데이터를 캐싱하여 성능을 개선하고 네트워크 부하를 줄인다.

  • 상태 비저장(NFSv3 이하)
    NFS 서버는 연결 상태 정보를 유지하지 않으므로 장애 발생 시 신속하게 복구할 수 있다. NFSv4는 성능과 기능을 개선하기 위해 몇 가지 상태 저장 요소를 도입했다.

  • 액세스 제어 및 인증
    NFS는 파일 및 디렉터리 권한과 같은 공유 리소스에 대한 액세스를 제어하는 ​​다양한 메커니즘과 NFSv4의 Kerberos 인증과 같은 고급 보안 기능을 제공한다.

  • 잠금
    NFS는 데이터 일관성을 보장하고 여러 클라이언트가 동일한 파일에 액세스하고 수정할 때 충돌을 방지하기 위해 파일 잠금을 지원한다.


NFS 서버를 설정하려면 필요한 패키지를 설치하고 공유 디렉토리를 구성하고 적절한 권한을 설정해야 한다. 클라이언트는 NFS를 설치해야 한다.


사용 방법은 기존 마운트 방법과 크게 다르지 않다.

  1. mount 명령어로 직접 마운트
  2. 텍스트 편집기를 이용해 영구 마운트
  3. 자동 마운터 메소드를 사용해 온디멘드

이 중 1번은 이미 이전 포스팅에서 다룬적이 있으므로 2, 3번을 다루도록하겠다.

 

[Linux 명령어] 디스크와 디렉토리 연결하기 (mount) + mkfs

마운트는 리눅스에서 파일 시스템을 사용하기 위한 작업으로, 하드 디스크, USB 드라이브, CD-ROM 등의 장치를 시스템에 연결하여 사용할 수 있게 한다. 마운트는 장치와 파일 시스템 간의 링크를

easyitwanner.tistory.com


fstab 수정 요령

1. nano 또는 vi와 같은 텍스트 편집기로 /etc/fstab 파일을 연다. 관리 권한을 얻으려면 sudo를 사용하십시오.

sudo nano /etc/fstab


2. 마운트하려는 파일 시스템에 대한 적절한 구문을 사용하여 파일에 새 줄을 추가한다. /etc/fstab 항목의 일반적인 형식은 다음과 같다.

<device> <mount_point> <filesystem_type> <options> <dump> <pass>

<device>: UUID, 장치 경로 또는 레이블과 같은 장치 식별자다.
<mount_point>: 파일 시스템이 마운트될 디렉토리.
<filesystem_type>: 파일 시스템 유형, 예: ext4, xfs 또는 nfs.
<options>: defaults, rw, sync, auto 또는 noauto와 같은 마운트 옵션이다.
<dump>: dump 유틸리티가 파일 시스템을 백업해야 하는 빈도(일반적으로 0으로 설정됨).
<pass>: fsck 유틸리티가 부팅 시 파일 시스템을 검사하는 순서다(확인을 비활성화하려면 0, 루트 파일 시스템의 경우 1, 기타 파일 시스템의 경우 2 사용).


예)

UUID=<UUID> /mnt/data ext4 defaults 0 2

<UUID>를 blkid 명령을 사용하여 얻을 수 있는 /dev/sdb1 파티션의 실제 UUID로 바꾼다.

sudo blkid /dev/sdb1

변경 사항을 저장하고 종료한다.

NFS를 통한 설정

[1] NFS 서버 설정

1. NFS 서버 패키지를 설치한다(아직 설치하지 않은 경우).

Ubuntu 또는 Debian 기반
sudo apt-get update
sudo apt-get install nfs-kernel-server

CentOS, RHEL 또는 Fedora 기반
sudo yum install nfs-utils


2. 공유할 디렉터리를 만들고 적절한 권한을 설정한다.

1) 디렉토리 생성
sudo mkdir /path/to/shared/directory

2) 권한 설정
sudo chown nobody:nogroup /path/to/shared/directory
sudo chmod 755 /path/to/shared/directory


3. /etc/exports 파일을 편집하여 NFS 내보내기를 구성한다.

sudo nano(vi, vim...) /etc/exports

1) 다음 줄을 추가하여 클라이언트와 디렉터리를 공유한다.
/path/to/shared/directory client_ip(rw,sync,no_subtree_check)

2) client_ip를 NFS 클라이언트의 IP 주소로 바꾼다.



4. 공유 디렉터리를 내보내고 NFS 서버를 다시 시작한다.

1) 내보내기
sudo exportfs -a

2) NFS 서버 재시작
sudo systemctl restart nfs-kernel-server


5. 서버의 방화벽에서 필요한 포트가 열려 있는지 확인하십시오.


[2] NFS 클라이언트 설정


1. NFS 서버 패키지를 설치한다(아직 설치하지 않은 경우).

Ubuntu 또는 Debian 기반
sudo apt-get update
sudo apt-get install nfs-common

CentOS, RHEL 또는 Fedora 기반
sudo yum install nfs-utils

 

2. NFS 공유를 마운트하려는 클라이언트에서 디렉토리를 생성한다.

sudo mkdir /path/to/mount/point


3. 마운트 지점에 NFS 공유를 마운트한다.

sudo mount server_ip:/path/to/shared/directory /path/to/mount/point

'server_ip'를 NFS 서버의 IP 주소로 바꾼다.


4. NFS 공유가 성공적으로 마운트되었는지 확인한다.

df -h

출력되는 메시지에는 지정된 마운트 지점에 마운트된 NFS 공유가 표시되어야 한다.


5. 부팅 시 NFS 공유가 자동으로 마운트되도록 하려면 /etc/fstab 파일에 항목을 추가하자.

server_ip:/path/to/shared/directory /path/to/mount/point nfs rw,sync,hard,intr 0 0

'server_ip'를 NFS 서버의 IP 주소로 바꾼다.

이 단계를 통해 NFS 내보내기를 통해 디렉토리를 성공적으로 마운트되었을 것이다. 클라이언트는 이제 마치 로컬에 저장된 것처럼 공유 디렉토리의 파일 및 디렉토리에 액세스할 수 있다. 클라이언트가 공유 파일에 액세스하려면 NFS 서버가 실행 중이고 네트워크를 통해 액세스할 수 있어야 한다.


휴... 다음은 NFS를 통한 자동 마운트에 다루도록하겠다.

반응형
반응형
Stratis으로 스토리지 관리

Stratis는 Red Hat 및 업스트림 Fedora 커뮤니티에서 개발한 로컬 스토리지 관리 툴이다. Stratis를 사용하 면 스토리지 초기 구성 수행, 스토리지 구성 변경, 고급 스토리지 기능 사용이 더 쉬워진다.

 

Stratis는 물리적 스토리지 장치 풀을 관리하는 서비스로 실행되며, 새로 생성된 파일 시스템의 볼륨을 투명하 게 생성 및 관리한다. Stratis는 씬 프로비저닝이라는 개념을 사용하여 디스크 장치의 공유 풀에서 파일 시스템을 빌드한다. 파일 시스템을 생성할 때 물리적 스토리지 공간을 즉시 할당하는 대신, Stratis에서는 파일 시스템에서 추가 데이터 를 저장할 때 풀에서 공간을 동적으로 할당한다.

 

따라서 파일 시스템의 크기가 1TiB로 표시될 수 있지만, 풀 에서 실제로 할당된 실제 스토리지의 크기는 100GiB뿐일 수 있다. 다양한 스토리자 장치에서 여러 개의 풀을 생성할 수 있다. 각 풀에서 하나 이상의 파일 시스템을 만들 수 있다. 현재 풀당 최대 2^24 개의 파일 시스템을 만들 수 있다.

 

Stratis는 Stratis 관리 파일 시스템을 구성하는 구성 요소를 표준 Linux 구성 요소에서 빌드한다. Stratis는 내부적으로 LVM도 사용하는 장치 매퍼 인프라를 사용한다. Stratis는 관리 대상 파일 시스템을 XFS로 포맷 한다. Stratis는 하드 디스크 또는 SSD와 같은 블록 스토리지 장치를 풀에 할당하며, 이러한 장치는 각각 풀에 실제 스토리지를 제공한다. 그런 다음 풀에서 파일 시스템을 생성하고, 필요에 따라 실제 스토리지를 각 파일 시스템에 매핑한다.


주의점

Stratis에서 생성한 파일 시스템은 Stratis 툴 및 명령으로만 재구성해야 한다. Stratis는 저장된 메타데이터를 사용하여 관리되는 풀, 볼륨 및 파일 시스템을 인식한다. Stratis 명령이 아닌 명령을 사용하여 Stratis 파일 시스템을 수동으로 구성하면 해당 메타데 이터를 덮어쓰고 Stratis가 이전에 생성한 파일 시스템 볼륨을 인식하지 못할 수 있다.


명령어 사용 예

1. 다운로드 및 설치

sudo dnf install stratis-cli

systemctl enable --now stratisd

2. 다음으로 시스템에서 사용 가능한 블록 장치를 나열한다. Stratis 풀을 생성하려면 이 정보가 필요하다. 사용 가능한 장치를 나열하려면 lsblk 명령을 사용할 수 있다.

lsblk

3. 사용 가능한 블록 장치 중 하나(예: /dev/sdb)를 사용하여 mypool이라는 새 스토리지 풀을 만든다.

sudo stratis pool create mypool /dev/sdb

4. 풀이 성공적으로 생성되었는지 확인한다.

sudo stratis pool list

5. mypool 스토리지 풀 내에 myfs라는 새 파일 시스템을 만든다.

sudo stratis filesystem create mypool myfs

6. 파일 시스템이 성공적으로 생성되었는지 확인한다.

sudo stratis filesystem list mypool

7. 새로 생성된 파일 시스템의 장치 매퍼 경로를 찾는다.

sudo stratis filesystem list mypool

출력되는 메시지는 DeviceNode 열 아래에 장치 매퍼 경로를 표시한다(예: /dev/stratis/mypool/myfs).

8. 이제 새 파일 시스템의 마운트 지점을 생성한다.

sudo mkdir /mnt/myfs

9. 이전에 얻은 장치 매퍼 경로를 사용하여 파일 시스템을 마운트한다.

sudo mount /dev/stratis/mypool/myfs /mnt/myfs

10. 파일 시스템이 성공적으로 마운트되었는지 확인한다.

df -h

출력되는 메시지에는 /mnt/myfs에 마운트된 새 파일 시스템이 표시되어야 한다.

11. 부팅 시 파일 시스템이 자동으로 마운트되도록 하려면 /etc/fstab 파일에 항목을 추가한다.

vi /etc/fstab (vi, vim 등 파일 편집기 사용)

/dev/stratis/mypool/myfs /mnt/myfs xfs defaults 0 0

이 예에서는 Stratis 스토리지 풀을 생성하고 풀에 파일 시스템을 추가하고 파일 시스템을 마운트하는 방법을 보여주었다. stratis 명령은 스냅샷 생성, 파일 시스템 크기 조정과 같은 Stratis 스토리지 관리를 위한 다른 많은 작업을 제공한다. 

 

원래는 RHEL 9 버전에서 출시할 예정이었으나 아직 안정적이지는 않은지 아직 제대로 나오지는 않은 것 같다. 때문인지 쉽게 스토리지를 관리할 수 있도록 해주는 명령어지만 어려운 느낌이 든다.

반응형