달력

12

« 2018/12 »

  •  
  •  
  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  
  •  

리눅스 서버 관리 - Parallel SSH - SSH 를 이용해서 여러대 리눅스 머신으로 명령어 보내기


중앙 서버에서 여러대의 리눅스 서버로 명령어를 보내도록 만들어서 편하게 관리할 수 있습니다.


먼저 Parallel SSH 를 설치합니다. 유저 user 는 루트 root 로 설치합니다.

# Debian 또는 Ubuntu
apt install python-pip python-setuptools
pip install parallel-ssh
apt install pssh

# 레드헷 RHEL, CentOS
yum install python-pip python-setuptools
pip install parallel-ssh
yum install pssh



아래와 같이 3대의 서버가 있다고 한다면,

1번 서버 : 192.168.1.100 : 중앙서버 : 이 서버에만 로그인을 해서 명령을 실행합니다.

2번 서버 : 192.168.1.101 : 호스트1 : 원격 명령이 실행될 서버1

3번 서버 : 192.168.1.102 : 호스트2 : 원격 명령이 실행될 서버2


1번 서버 : 중앙서버에서 SSH 퍼블릭 키를 만듭니다.


marasong@vm-marasong:~$ ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/home/marasong/.ssh/id_rsa): [엔터]

Enter passphrase (empty for no passphrase): [엔터]

Enter same passphrase again: [엔터]

Your identification has been saved in /home/marasong/.ssh/id_rsa.

Your public key has been saved in /home/marasong/.ssh/id_rsa.pub.

The key fingerprint is:


생성된 퍼블릭 키값을 호스트1, 2 두 서버에 복사합니다.

cat ~/.ssh/id_rsa.pub 


이런 형태로 나오는데,

2번 서버 : 192.168.1.101 / 3번 서버 : 192.168.1.102 : ~/.ssh/authorized_keys 파일에 저 내용을 복사합니다.


2번, 3번 서버에 .ssh 디렉토리가 없다면 디렉토리를 만들고 퍼미션을 수정합니다.

mkdir .ssh

chmod 700 .ssh

chmod 640 .ssh/authorized_keys


이제 1번 서버에서 2번, 3번 서버로 ssh 로그인을 해봅니다. 암호 없이 로그인이 가능해야 합니다.

ssh userID@192.168.1.101 -p 22

ssh userID@192.168.1.102 -p 22



2번, 3번 서버 정보를 hosts.test 파일로 저장합니다.


userID@192.168.1.101:22

userID@192.168.1.102:22


이제 아래와 같은 방법으로 여러 서버로 명령을 내릴 수 있습니다.


/usr/bin/parallel-ssh -i -h hosts.test "ls -al"




이걸 아래처럼 배시 스크립트로 만들어두면 편하게 이용할 수 있습니다.


#!/bin/bash


cmd_text=${1}


if [ -z "${cmd_text}" ]

then

        # 입력 파라미터 값이 없을때 기본값 정의

        cmd_text="ls"

fi


/usr/bin/parallel-ssh -i -h /home/ubuntu/hosts.test "${cmd_text}"



참고 : https://www.tecmint.com/




Posted by 멋지다마라송
2018.06.18 13:46

AWS 리눅스 - 스왑 swap 파일 만들기 Tech/Linux2018.06.18 13:46

AWS - 리눅스 스왑파일 Linux Swap 만들기


AWS 리눅스는 스왑 없이 생성되기 때문에 스왑파일을 따로 만들어줘야 합니다.

메모리가 작은 경우, 스왑이 없으면 에러날 확률이 높습니다. (메모리가 여유있으면 괜찮겠지만요..)


sudo 로 안전하게 해도 되지만, 스왑은 편하게 root 로 작업합니다.





$ sudo su -


먼저 빈 파일을 만듭니다.

아래는 1메가 블럭을 1024개 (1기가 파일) 만들기 입니다.

물리 메모리가 1기가라면 스왑도 1기가 (많이 쓴다면 2기가) 정도가 괜찮고,

물리 메모리가 2기가라면 스왑도 2기가 (많이 쓴다면 4기가) 정도가 괜찮은거 같습니다.

뭐 더 높아도 상관없지만 적절하게 지정하는게 좋습니다.


스왑파일을 /data/swapfile 로 만드는 경우는 아래와 같습니다.


# dd if=/dev/zero of=/data/swapfile bs=1M count=1024


빈 파일이 생성되면 아래 명령어로 스왑파일로 포멧을 해줍니다.

# mkswap /data/swapfile


스왑 온.시키기.

# swapon /data/swapfile


스왑을 온 시키면 권고 퍼미션 안내가 나옵니다.

그대로 퍼미션 수정합니다.

# chmod 600 swapfile


부팅될때 마운트 되도록 /etc/fstab 파일에 아래 한줄을 추가합니다


/data/swapfile swap swap defaults 0 0

Posted by 멋지다마라송


티스토리 툴바