2018년 1월 17일 수요일

오픈소스 백업 bacula backup - draft

바큘라설치 

이슈사항 
- 백업시 네트워크 대역폭 
- NAS IO 성능 확인 
- 저장되는 데이터의 보안(암호화여부)
- 다양한 device 지원 (Disk, NFS, Tape)


0. 준비

서버, 버박에 2개 생성, vm1에  dir,sd,catalog 구성 
192.168.56.101 vm1 backup_dir backup_sd
192.168.56.102 vm2 backup_dest1 backup_fd1

서비스 구성 3데몬, 1DB
-bacula Director 디렉터(서버) , chleo 1천대정도 컨트롤, 9101port 사용 
-bacula File 파일데몬(클라이언트 에이전트), 9102 Port, bacula-common, bacula-fd 
-bacula Storage 스토리지(저장소), 9103 Port 
-Catalog 카탈로그 (백업 카탈로그 저장 DB)
관리 
-bacula monitor 모니터 (Xwin 기반 GUI)
-bacula Console 콘솔 (CLI)
-webmin (Web Base Console-별도 프로젝트 )


의미 
Pool : Volume의 집합, 하나의 파일로 뭉쳐진다.
Volume : 백업된 데이터 들이 분류별로 저장됨, 하나의 백업작업에 하나의 Volume, 볼륨사이즈제한가능, 볼륨 갯수 제한 가능,



centos에는 yum설치시 5.x 버젼으로 설치됨
https://repos.fedorapeople.org/slaanesh/bacula7/epel-bacula7.repo 에서 제공하는 yum으로 하려고 해도 최대 버젼이 7 기준임

이번에 설치시 설치버젼  Baclula 7x


1. Director 설치 
1.1 관리 서버가 될 곳부터 (director 와 Stroage 구성)
1.1.1 리포 추가 
cd /etc/yum/repo.d

yum으로 설치하고나면
5.x와 7.x 가 같이 출력 되므로 해깔리지 않도록 주의 해당 rpm만 정리하면 아래와 같음

[root@centos6-9 yum.repos.d]# yum list | grep bacula
#이거 깔면 아래것은 의존성으로 설치됨
bacula-director.x86_64 7.0.5-7.el6 epel-bacula7   <==
bacula-common.x86_64 7.0.5-7.el6 epel-bacula7
bacula-libs.x86_64 7.0.5-7.el6 epel-bacula7
bacula-libs-sql.x86_64 7.0.5-7.el6 epel-bacula7

#콘솔, 모니터 각각 설치
# 이거 설치하면 Xwin의 시스템도구에 bacula bat console과 bacula monitor 항목이 생성된다.
bacula-console.x86_64 7.0.5-7.el6 epel-bacula7
bacula-console-bat.x86_64 7.0.5-7.el6 epel-bacula7
bacula-traymonitor.x86_64 7.0.5-7.el6 epel-bacula7

#저장소 패키지 별도 서버에 구성 가능 
#의존성으로 mt-st 설치됨
bacula-storage.x86_64 7.0.5-7.el6 epel-bacula7

#로그를 모니터링하는 뭔가인듯....  디렉터만 깔면 되나???
bacula-logwatch.noarch 7.0.5-7.el6 epel-bacula7

#클라이언트쪽에 설치
bacula-client.x86_64 7.0.5-7.el6 epel-bacula7

# 문서나 개발뭔가인데 필요하면 설치
bacula-devel.x86_64 7.0.5-7.el6 epel-bacula7
bacula-docs.noarch 7.0.5-1.el6 epel-bacula7
nagios-plugins-bacula.x86_64 7.0.5-7.el6 epel-bacula7


# 설치후 정보 위치 
/etc/bacula : 설정파일
/usr/libexec/bacula : db 스키마생성등의 스크립트
/var/spool/bacula/ : 로그파일
/etc/init.d/bacula-* : 시작 스크립트 
/usr/sbin/ : 바큘라 실행파일 
bacula-dir  bacula-sd  bacula-tray-monitor


1.2. DB설치 
# yum으로 그냥 때려설치...의존성으로 깔리는건 그냥 깔아줌 
yum install mysql-server mysql-devel

#기동 (튜닝 따위는 나중에)
service mysqld start

# 부팅될때 닥시고 구동 
chkconfig  mysqld on


1.3. 스키마 생성 과 권한 및 패스워드  (바큘라 설치하면 생성용 스크립트가 /usr/libexec/bacula 에 있다)
DB에 bacula 관련 DB를 설정해야 한다.
기본 DB가 postgresql 이다 파일을 수정해서 값을 변경한다.
아래 변수값을 기준으로 필요한 스크립트를 수행하므로 오타 주의

1.3.1 DB생성
$vi create_bacula_database
....
default_db_type=postgresql  을  mysql로 
....

[root@centos6-9 bacula]# ./create_bacula_database 
Creating mysql database
Creation of bacula database succeeded.


1.3.2 스키마생성
$vi make_bacula_tables
....
default_db_type=postgresql  을  mysql로 
....
[root@centos6-9 bacula]# ./make_bacula_tables 
Making mysql tables
Creation of Bacula MySQL tables succeeded.

1.3.3 권한설정 
$vi grant_bacula_privileges
....
default_db_type=postgresql  을  mysql로 
....
[root@centos6-9 bacula]# ./grant_bacula_privileges 
Granting mysql privileges
Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_privCreate_routine_priv Alter_routine_priv Create_user_priv Event_priv Trigger_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
localhost root Y Y Y Y Y Y Y Y Y Y Y Y Y Y YY Y Y Y Y Y Y Y Y Y Y Y Y 0 00 0
centos6-9 root Y Y Y Y Y Y Y Y Y Y Y Y Y Y YY Y Y Y Y Y Y Y Y Y Y Y Y 0 00 0
127.0.0.1 root Y Y Y Y Y Y Y Y Y Y Y Y Y Y YY Y Y Y Y Y Y Y Y Y Y Y Y 0 00 0
localhost N N N N N N N N N N N N N N NN N N N N N N N N N N N N 0 00 0
centos6-9 N N N N N N N N N N N N N N NN N N N N N N N N N N N N 0 00 0
localhost bacula N N N N N N N N N N N N N N NN N N N N N N N N N N N N 0 00 0
% bacula N N N N N N N N N N N N N N N NN N N N N N N N N N N N 0 0 00
Privileges for user bacula granted on database bacula.

스크립트를 열어 보면 db_password= 항목이있다. 직접 넣어주고 돌려도 된다.


만약 mysql 설치시 패스워드가 있다면 /etc/my.cnf에 mysql root 패스워드 설정을 추가하거나 
위에 스크립트 수행할 때 뒤에 옵션을 줘서 수행한다
ex) 
스크립트에 패스워드 옵션 먹여서 실행 (값은 없으므로 그냥 -p 만주고 실행 쓰고 있던 DB나 패스워드를 넣었다면 그 값으로)
/usr/libexec/bacula/grant_mysql_privileges -u root -p 
/usr/libexec/bacula/create_mysql_database -u root -p
/usr/libexec/bacula/make_mysql_tables -u root -p
/usr/libexec/bacula/grant_bacula_privileges  -u root -p

1.3.4. bacula 패스워드 변경 
$mysql -u root -p
>UPDATE mysql.user SET password=PASSWORD("xxxxxx") WHERE user='bacula';
>FLUSH PRIVILEGES;


ex)
mysql> UPDATE mysql.user SET password=PASSWORD("xxxxxc") WHERE user='bacula';
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2 Changed: 2 Warnings: 0

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

Director 설치는 끝났다.

시작시키려면 서비스명은 
[root@centos6-9 bacula]# chkconfig | grep bacula
bacula-dir      0:해제 1:해제 2:해제 3:활성 4:활성 5:활성 6:해제  (디렉터)
bacula-sd      0:해제 1:해제 2:해제 3:활성 4:활성 5:활성 6:해제  (스토리지)

1.3.5 mysql과 연결
bacula를 rpm으로 설치하면 기본 postgra로 연결하게 되어 있다.
이걸 mysql로 바꿔줘야 구동시 mysql로 접근해서 catalog 서비스가 가능하다.
alternatives 로 지정을 바꾸어준다

[root@centos6-9 bacula]# alternatives --config libbaccats.so

3 개의 프로그램이 'libbaccats.so'를 제공합니다.

  선택 명령
-----------------------------------------------
   1 /usr/lib64/libbaccats-mysql.so
   2 /usr/lib64/libbaccats-sqlite3.so
*+ 3 /usr/lib64/libbaccats-postgresql.so

현재 선택[+]을 유지하려면 엔터키를 누르고, 아니면 선택 번호를 입력하십시오:1  <== 1을 선택해서 mysql로 변경

연결이 안되면 아래같은 에러가 발생한다.
/var/log/bacula/bacula.log

17- 1월 11:33 bacula-dir JobId 0: Fatal error: Could not open Catalog "MyCatalog", database "bacula".
17- 1월 11:33 bacula-dir JobId 0: Fatal error: postgresql.c:236 Unable to connect to PostgreSQL server. Database=bacula User=bacula
Possible causes: SQL server not running; password incorrect; max_connections exceeded.
17- 1월 11:33 bacula-dir ERROR TERMINATION
Please correct configuration file: /etc/bacula/bacula-dir.conf




2. Storage 구성 
dir과 별도의 서버에 구성할 경우 
bacula-storage.x86_64 7.0.5-7.el6 epel-bacula7
bacula-common.x86_64 7.0.5-7.el6 epel-bacula7
bacula-libs-sql.x86_64 7.0.5-7.el6 epel-bacula7   설치 하면 된다고함 (인터넷 정보 확인은 안해봤음 안되면 찾아서 하자)

2.1 config 파일 구성 
백업을 하려면 저장소가 필요하고 저장소를 Pool 이라는 공간안에 여러개의 Volume을 넣어 두는 형태로 설정한다
두개의 포트를 정보를 넣는데
하나는 dir과 통신을 위한 대상 port 정보와
수신을 위한 sd port 정보를 정의한다.

바큘라는 저장소 관리를 테이프처럼 한다. 
volume 이라는건 하나의 테이프라고 보면 되고 백업을 볼륨에 저장하고 하나의 볼륨이 꽉 차면 다음 볼륨을 만들어 저장한다.
물리적인 tape 라이브러리에서 테이브 하나가 차면 다음 테이프에 저장되는 것으로 보면 된다.
pool 이라는건 백업job을 위해 사용되는 테이프들을 통칭 Pool 이라고 하고 (하나의 백업을 위해 10개의 테이프가 사용되면 그놈들을 모아 둔걸 pool 이라고)
tape 운영시 10개의 tape를 백업하고 라이브러리에서 빼내면 순서대로 라벨링하고 하나의 가방에 넣어두듯이 하나의 세트를 의미한다. (나중에 복구할때도 이 전체 테이프를 라이브러리에 넣고 카탈로그를 돌려야 복구가능하다. 하나라도 없으면 ㅜ.ㅜ)

실제 서버에서 보면 pool은 하나의 파일로 생성되고 내부적으로 volume이 생성되어 있다.
자체적으로 하나의 파일로 말아 버리는것으로 보안성 유지를 위해서 이런 구조가 사용되는 듯 
단점은 관리자가 직접 파일 access는 안되고  유틸을 사용하여 추출 해야 한다... 이게 더 안전할듯 
병신처럼 파일 하나라도 건드리면 카탈로그 정보가 틀어질꺼고 그럼 전체 볼륨이 뽀개질듯 

나는 풀을 4개 만드려고 한다.
1. dev_pool : WEB/WAS Contents,SVN   
/data/www
/data/web

2. img_pool : 서비스 컨텐츠 백업  (서비스 이미지)

3. log_pool : log 백업용

4. os_pool : os config 백업  /etc, /home, 
 --exclude=/lost+found/* --exclude=/media/* --exclude=/mnt/* --exclude=/sys/* -exclude=/proc/* --exclude=/dev/*

NAS 사용량조사
프로덕션 볼륨 : 386GB
개발볼륨 : 120G
메일서버 : 476G
레거시(stylewish) : 376G

WEB Contents
oneten.web : /data/www  103M
[wishlink@oneten.web1 data]$ du -sk ./www
102612 ./www

WAS Contents
oneten.was : /data/www  122M
[wishlink@oneten.was1 data]$ du -sk ./www
122088 ./www

wislink.web (홈피, 레드마인, 위키, SVN)
/data/www 10G
/data/redmine-2.6.3   4G

============================

$vi /etc/bacula/bacula-sd.conf

Device {
  Name = FileStore-os
  Media Type = File
  Archive Device = /data/backup/os_pool
  LabelMedia = yes; # lets Bacula label unlabeled media
  Random Access = Yes;
  AutomaticMount = yes; # when device opened, read it
  RemovableMedia = no;
  AlwaysOpen = no;
  Maximum Concurrent Jobs = 5
}

Device {
  Name = FileStore-log
  Media Type = File
  Archive Device = /data/backup/log_pool
  LabelMedia = yes; # lets Bacula label unlabeled media
  Random Access = Yes;
  AutomaticMount = yes; # when device opened, read it
  RemovableMedia = no;
  AlwaysOpen = no;
  Maximum Concurrent Jobs = 5
}



$vi /etc/bacula/bacula-dir.conf

Storage {
  Name = "OS Backup"
  Address = 192.168.56.101 # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = "wishlink0503#!"
  Device = FileStore-os
  Media Type = File
  Maximum Concurrent Jobs = 10 # run up to 10 jobs a the same time
}

Storage {
  Name = "LOG Backup"
  Address = 192.168.56.101 # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = "wishlink0503#!"
  Device = FileStore-log
  Media Type = File
  Maximum Concurrent Jobs = 10 # run up to 10 jobs a the same time
}



# Generic catalog service
Catalog {
  Name = MyCatalog
  dbname = "bacula"; dbuser = "bacula"; dbpassword = "wishlink0503#!"
}



/usr/share/doc/bacula-common-7.0.5


2.2  권한 설정 

2.2.1 selinux 떄문에 백업볼륨 생성실패 
꺼버리자 
에러의예
17-Jan 15:04 bacula-sd JobId 13: Warning: mount.c:212 Open of file device "FileStore-os" (/data/backup/os_pool) Volume "OsVol-0002" failed: ERR=file_dev.c:172 Could not open(/data/backup/os_pool/OsVol-0002,CREATE_READ_WRITE,0640): ERR=Permission denied

selinux config 파일 위치 
#vi /etc/sysconfig/selinux

내용에서 비활성화
SELINUX=disabled

리부팅하면 꺼짐 

2.2.2 iptables를 쓰고 있다면 끄거나 필요 Port를 열어줄것 

2.2.3 폴더 권한 문제 

chown -R bacula:disk /data/backup
chmod -R 760 /data/backup/

owner에 7을 안주면 volume생성이 안되더라....
other에는 혹시 나중에 작업할때 볼 수 는 있어야 하니 그냥 6 주었음




3. File Daemon 설치
3.1 pkg 설치 정보 
bacula-client.x86_64 7.0.5-7.el6 epel-bacula7
(위에 설치하면 필요 의존성은 같이 설치됨)
 bacula-common
 bacula-libs 

3.2 config 파일 
/etc/bacula/bacula-fd.conf
- Password 수정 
-FDAddress = 192.168.x.x  <== 처음 설치하면 없는데 꼭 있어야 하나??? 없이 하면 배포하기 편한데...

3.3 서비스 기동 
#service bacula-fd start
#chkconfig bacula-fd on


4. 관리도구  구성   
4.1 bconsole (CLI)
bconsole은 CLI에서 백업을 수행하거나 작업하는데 사용하기 위한 도구이다.
같은 서버에 있을 필요없이 아무대나 있어도 되지만 /etc/bacula/bconsole.conf  에서 dir에 접속하는 정보를 맞추어야 한다.

4.1.1 pkg 설치 
나는 저 앞에서 dir 설치시 같이 설치했으므로 별도 설치는 하지 않았지만 만약 console만 다른서버에 설치하려면 다음 pkg를 설치하도록 한다.
bacula-console.x86_64 7.0.5-7.el6 epel-bacula7

4.1.2 bconsole 설정
dir에 접속하기 위한 설정 
/etc/bacula/bconsole.conf 

#
# Bacula User Agent (or Console) Configuration File
#
Director {
  Name = bacula-dir    <==  Director 구성시 지정한 이름과 같아야 한다. 
  DIRport = 9101         <== Director 서비스 port 
  address = 192.168.56.101 <==  Director 서비스가 설치된 서버 IP
  Password = xxxxxxx"  <=== Director 서비스 접속용으로 지정한 패스워드
}

4.2. BAT (Bacula Admin Tool - GUI)
기초 설치시 같이 깔린다.  X-Win 기반이므로 설치된 서버의 Win에서  프로그램->시스템도구-> Bacula Bat Console  로 추가된다.

/etc/bacula/bat.conf 에 패스워드 부분만 확인해준다.
[root@centos6-9 bacula]# cat bat.conf
#
# Bacula Administration Tool (bat) configuration file
#

Director {
  Name = bacula-dir
  DIRport = 9101
  address = localhost
  Password = "xxxxxxx"
}

4.3 Webmin (Bacula Web Admin -  WEB GUI)
특별히 바큘라를 위한 툴은 아니고 시스템전반에 걸친 관리를 수행하는 WEB Tool임 
바큘라에 잘 들러 붙기 때문에 이거 쓰면 편하게 구성가능 
위에 파일 일일이 수정하느라 뼈골 빠지느니 이걸로 하면 됨
다만 바큘라의 설정이 이놈저놈 하나씩 설정한 다음 서로 엮어 주는 구성이라 기본 개념이 없으면 UI도 작업하기 어려움 
초기 적용단계라면 CLI로 연습삼아 굴러보고(?) GUI에서 노가다를 줄이는 황홀함을 느껴보시길 권장 

4.3.1  pkg 설치
라파지토리 추가 
vi /etc/yum.repos.d/webmin.repo

아래내용으로 
[Webmin]
name=Webmin Distribution Neutral
#baseurl=http://download.webmin.com/download/yum
mirrorlist=http://download.webmin.com/download/yum/mirrorlist
enabled=1

PGP 키 등록해줄것 
rpm --import http://www.webmin.com/jcameron-key.asc <== 이거 꼭 해줘야됨 

업뎃하고 
yum check-update

설치 
yum -y install webmin 

4.3.2 접속 및 구성 
URL로 접속하면 됨 (개간단)

계정은 OS에서 사용하는 계정으로 로그인,  root로 로그인 하면 됨

bacula 를 기본 postgra로 구성했으면 바로 붙겠지만 나처럼 mysql로 했으면 붙여주는 작업이 필요함

메뉴는 잘 기억이 안나는데.... 여하간 처음 로그인해서  왼쪽 메뉴에서 "system"-> Bacula Backup System 을 선택하면 오류가 나오는데 config 부분에 


4.4 baculum

http://www.bacula.org/7.4.x-manuals/en/console/Baculum_Web_GUI_Tool.html

vi /etc/yum.repos.d/baculum.repo

[baculumrepo]
name=Baculum CentOS repository
baseurl=http://bacula.org/downloads/baculum/centos
gpgcheck=1
enabled=1


업뎃하고 
yum check-update

설치
yum install baculum baculum-httpd
php가 필요할 수 있음
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
yum check-update
yum install php54


2018년 1월 16일 화요일

헤놀로지 WOL활성화 하기 위해 NIC 추가 및 설정

헤놀로지 WOL활성화 하기 위해 NIC 추가 및 설정

환경
boot loader : juns-mod-1.02b-ds3615.zip
DSM :  6.1.4 / DSM_DS3615xs_15217.pat
Board(CPU) : ASRock J3455-ITX  (아폴로레이크 임베드)
MEM : 8G
HDD : 3T+3T(RAID1), SSD 256G Cache(남는 SSD활용차원)

=내용
WOL을 지원하기 위해서는 실제 NIC의 물리적인 MAC이 필요하다.
하지만 헤놀로지 구성시  인증을 위해 소프트웨어적으로 별도 설정한 MAC을 넣게 되는(네이티브 헤놀, VM은 방법없음)
이 경우 전원이 꺼진상태에서 WOL시그널을 보내 봐야 물리적인 주소를 찾을 수 없다.
인증도 받아야 겠고 WOL도 하고 싶어서 별도 WOL을 지원하는 NIC를 추가했다.

원래 있는것으로 될까????
NIC 물리 MAC을 확인해서 WOL 시그널을 보내 봐도 안되어서 포기했다.

나는 4천원짜리 리얼택칩 NIC를 하나 구입해서 꼽았다.

1. WOL 지원 NIC 추가 
...뭐..이건 보드가 지원하는대로 능력껐...
끼웠는데 헤놀에서 NIC를인식하지 않는다면...나두 잘 모르겠다 나는 그냥 바로 인식되었으니 땡큐
드라이버가 없을 경우 커널컴파을 해서 이식 할 수있겠지만 일단 패스  구글신에게 물어보자

2. 부팅후 OS에서 if인식 확인  (사전에 제어판에서 SSH 접속 활성화, 부팅후 웹 로그인 계정으로 SSH 접근가능)

root 권한으로 작업
#sudo -i

eth0, eth1 둘다 나와야 하고 MAC 주소 확인해 놓을것
(나중에 DHCP IP 고정하거나, WOL설정할떄 nic가 두개라 해깔림)

# ifconfig -a

yckwon@KWON_NAS:~$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:11xxxxxxx  <=== 기존에 헤놀 구축시 S/W적으로 설정한 MAC주소
          inet addr:192.168.0.120  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1209 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1058 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:350977 (342.7 KiB)  TX bytes:252083 (246.1 KiB)
          Interrupt:143 base 0xc000

eth1      Link encap:Ethernet  HWaddr 00:Exxxxxxx    <=== 이게 새로 추가한 NIC의 MAC 주소
          inet addr:192.168.0.121  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:970 errors:0 dropped:0 overruns:0 frame:0
          TX packets:207 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:290844 (284.0 KiB)  TX bytes:56161 (54.8 KiB)
          Interrupt:144 base 0xe000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:277 errors:0 dropped:0 overruns:0 frame:0
          TX packets:277 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:48631 (47.4 KiB)  TX bytes:48631 (47.4 KiB)

sit0      Link encap:IPv6-in-IPv4
          NOARP  MTU:1480  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)



필요시 NIC up down
# ifconfig eth1 up
# ifconfig eth1 down



3. /etc/synoinfo.conf  를 수정한다.
NIC 정상 등록 후 부팅해봐도 헤놀 DSM에서 제어판->하드웨어 및 전원 을 봐도  WOL 활성화 체크박스가 없다
기존의 LAN1(eth0)만 체크 가능하다.
뭐...나중에 추가하다보니 UI에 없는듯
여하간 WOL만 되면 되므로 나는 그냥 /etc/synoinfo.conf  파일을 수정하겠다 .

vi /etc/synoinfo.conf
...(생략)
eth1_wol_options="g"   <====1
wol_enabled_options="g"  <====2
...(생략)

1은 원래 d 로 되어 있는것을 g 로 변경한다. 아마도 이더툴로 옵션을 넣기 위해 체크활성화인듯
2는 원래 g 인데 그냥 유지했다. 인터넷에서 보면 이 값을 빼버리라고""  로 하는데
아무리 찾아봐도 변수의 의미를 몰라서 테스트삼아 그냥 g로 뒸는데 WOL 동작에 문제가 없어서 그냥 두었다.

그림] 아래 설정처럼해서 WOL이 활성화 된것을 확인했다


추가로 인터넷정보에 보면

/usr/syno/etc/rc.d/ 아래에
S99ZZZ_Shutdown.sh
S99wakeonlan.sh

등을 넣으라고 되어 있는데 내용을 보면  nic를 업다운하거나 ethtool에서 wol를 활성화 하는 기능을 수작업으로 정의하는것이다.
헤놀 설정에 값을 넣었는데 이건 또 왜하지??? 싶어서 안넣고 그냥 해봤다
나는 된다...

혹시 안되면 인터넷에서 해당 스크립트 찾아서 넣어줘보자

테스트가 귀찮아 더 하지는 않았지만 그냥 스크립트를 넣던지 헤놀 설정을 하던지 둘중 하나만 잘 하면 되는것일듯

내 경우와 같이 작업시에는
eth0 가 원래 있던 NIC 라는점과
옵션을 변경할 대상은 새로 추가한 eth1 이라는것만 주의 해서 해깔리지 않으면 되겠다


4. WOL 설정
IP TIME공유기에 확인해 놓은 MAC을 찾아서 WOL을 하거나
시놀어시스턴트를 하던.... 이 부분은 취양따라 장비 따라 캐바캐

굿럭!

2018년 1월 12일 금요일

mint linux 18.3 Sylvia 에 Virtual Box 사용하기




1. 정리하면 
Sylvia microcode update 수행시  민트에서 기본 제공하는 pkg의 virtualbox 4.x  가 다운되는 현상이 있음(PC가 얼어버림)

몽땅 삭제하고 버박에서 5.x 버젼으로 업그레이드 한다.
https://www.virtualbox.org/wiki/Linux_Downloads

Sylvia에 Virtual box 설치시 xenial(Ubuntu 16.04 ("Xenial")) 용으로 설치할 것


2. 삽질내용 

우분투 마이크로 커널 업데이트 설치(2018년 1월 12일) 이후
mint linux 18.3에 기본으로 제공되는 virtualbox (4.x버젼)가 기동만 하면 PC가 정지됨

5.x 버젼으로 업데이트 해보기로함.

18.3을 쓰고 있어서 virtualbox의 최신지원인 17.04용으로 다운로드 받아서 설치 진행 해봄

의존성문제로 설치 실패  ㅠ.

yckwon@yckwon-note ~/다운로드 $ sudo dpkg -i virtualbox-5.2_5.2.4-119785_Ubuntu_zesty_amd64.deb
[sudo] password for yckwon:
Selecting previously unselected package virtualbox-5.2.
(데이터베이스 읽는중 ...현재 382211개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack virtualbox-5.2_5.2.4-119785_Ubuntu_zesty_amd64.deb ...
Unpacking virtualbox-5.2 (5.2.4-119785~Ubuntu~zesty) ...
dpkg: dependency problems prevent configuration of virtualbox-5.2:
 virtualbox-5.2 패키지는 다음 패키지에 의존: libpng16-16 (>= 1.6.2-1): 하지만:
  libpng16-16 패키지는 설치하지 않았습니다.
 virtualbox-5.2 패키지는 다음 패키지에 의존: libqt5core5a (>= 5.7.0): 하지만:
  시스템에 있는 libqt5core5a:amd64의 버전은 5.5.1+dfsg-16ubuntu7.5입니다.
 virtualbox-5.2 패키지는 다음 패키지에 의존: libqt5widgets5 (>= 5.7.0): 하지만:
  시스템에 있는 libqt5widgets5:amd64의 버전은 5.5.1+dfsg-16ubuntu7.5입니다.
 virtualbox-5.2 패키지는 다음 패키지에 의존: libqt5x11extras5 (>= 5.6.0): 하지만:
  시스템에 있는 libqt5x11extras5:amd64의 버전은 5.5.1-3build1입니다.
 virtualbox-5.2 패키지는 다음 패키지에 의존: libvpx4 (>= 1.6.0): 하지만:
  libvpx4 패키지는 설치하지 않았습니다.

dpkg: error processing package virtualbox-5.2 (--install):
 의존성 문제 - 설정하지 않고 남겨둠
Processing triggers for systemd (229-4ubuntu21) ...
Processing triggers for ureadahead (0.100.0-19) ...
ureadahead will be reprofiled on next reboot
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for desktop-file-utils (0.22+linuxmint1) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Processing triggers for hicolor-icon-theme (0.15-0ubuntu1) ...
Processing triggers for shared-mime-info (1.5-2ubuntu0.1) ...
처리하는데 오류가 발생했습니다:
 virtualbox-5.2



설치되다 말았기 때문에 의존성이 엉망되므로 의존성 정보 fix

#sudo apt-get -f install


인터넷 보니 바로 아래 버젼으로 설치한 정보가 있어서

minx linux 16.04 버젼용으로  virtualbox-5.2_5.2.0-118431_Ubuntu_xenial_amd64.deb  설치

yckwon@yckwon-note ~/다운로드 $ sudo dpkg -i virtualbox-5.2_5.2.0-118431_Ubuntu_xenial_amd64.deb
Selecting previously unselected package virtualbox-5.2.
(데이터베이스 읽는중 ...현재 382191개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack virtualbox-5.2_5.2.0-118431_Ubuntu_xenial_amd64.deb ...
Unpacking virtualbox-5.2 (5.2.0-118431~Ubuntu~xenial) ...
virtualbox-5.2 (5.2.0-118431~Ubuntu~xenial) 설정하는 중입니다 ...
addgroup: 'vboxusers' 그룹은 이미 시스템 그룹에 존재합니다.  종료합니다.
Processing triggers for libc-bin (2.23-0ubuntu9) ...
Processing triggers for systemd (229-4ubuntu21) ...
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for hicolor-icon-theme (0.15-0ubuntu1) ...
Processing triggers for shared-mime-info (1.5-2ubuntu0.1) ...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for desktop-file-utils (0.22+linuxmint1) ...
Processing triggers for mime-support (3.59ubuntu1) ...
yckwon@yckwon-note ~/다운로드 $



이상없이 설치됨


일단 일해야 하므로....업데이트 따위는 나중에...