Free명령어의 결과는  파일을 토대로 만드는거같다. 

 

MemTotal:         949452 kB 

MemFree:          184976 kB 

MemAvailable:     547256 kB 

Buffers:           93580 kB 

Cached:           302052 kB 

SwapCached:          268 kB 

Active:           411160 kB 

Inactive:         269268 kB 

Active(anon):     188308 kB 

Inactive(anon):   113152 kB 

Active(file):     222852 kB 

Inactive(file):   156116 kB 

Unevictable:           0 kB 

Mlocked:               0 kB 

SwapTotal:        102396 kB 

SwapFree:          98044 kB 

Dirty:                24 kB 

Writeback:             0 kB 

AnonPages:        284548 kB 

Mapped:           142528 kB 

Shmem:             16656 kB 

Slab:              63864 kB 

SReclaimable:      48848 kB 

SUnreclaim:        15016 kB 

KernelStack:        2552 kB 

PageTables:         5896 kB 

NFS_Unstable:          0 kB 

Bounce:                0 kB 

WritebackTmp:          0 kB 

CommitLimit:      577120 kB 

Committed_AS:    2043192 kB 

VmallocTotal:    1114112 kB 

VmallocUsed:           0 kB 

VmallocChunk:          0 kB 

CmaTotal:           8192 kB 

CmaFree:            6792 kB 

 

우선 1차적으로 

토탈과 프리 유즈를 구한다. 

 

 

Total   = used + free + buffers + cached 

실제 free = free + buffers + cached  

실제 사용량 = total - ( free + buffers + cached)  

 

토대로 파싱한다. 

 

 


'오락기 > Linux' 카테고리의 다른 글

모니터링 cpu 사용량  (0) 2018.08.17
리눅스 모니터링 tcp 파싱  (0) 2018.08.17
Centos7 svn 셋팅  (0) 2017.06.21
Centos7 oracle 설치 셋팅  (0) 2017.06.21
centos 7 에 jdk 와 tomcat 설치  (0) 2017.06.14

pi@js-pi:/proc $ cat stat 

cpu  1176018 17108 442860 158601197 38527 0 10732 0 0 0 

cpu0 287232 4515 105326 38803935 10998 0 5224 0 0 0 

cpu1 272218 4421 139046 39901092 11655 0 4751 0 0 0 

cpu2 320488 4071 99002 39938013 8049 0 386 0 0 0 

cpu3 296080 4101 99486 39958156 7824 0 371 0 0 0 

intr 987976230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 130545414 0 0 0 0 0 222551 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 286005 0 0 132823 0 0 0 0 0 0 0 815486740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 108643 9115 0 0 0 0 17801712 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 

ctxt 353354970 

btime 1532877226 

processes 253949 

procs_running 1 

procs_blocked 0 

softirq 53205558 58766 13674817 228 2888656 7487 0 13659386 13448030 0 9468188 

 

 

 

계산을 위해서 데이터 저장해보자 

 

순서 

 

user : 사용자 영역 코드 실행 시간 

system: 커널 영역 코드 실행 시간 

nice : 기본보다 낮은 우선순위로 실행한 사용자 영역 코드 실행 시간 

idle : I/O 완료가 아닌 대기 시간 

wait : I/O 완료 대기 시간 

hi : Hard Interrupt(IRQ) 

si : Soft Interrupt(SoftIRQ) 

zero : 끝 

 

 

cpu :user:system:nice:idle:wait:hi:si:zero 

 

(idle jiffies)*100 / (idle jiffies + use jiffies + system jiffies + low prio jiffies)    

 

으로 계산하면된다 

 

 

 

전체  cpu  1444904 26875 682248 251512529 42105 0 19141 0 0 0 

전체  cpu  1444907 26875 682257 251514726 42106 0 19141 0 0 0 

 

 

diff =  [t]] - [t-1] 

 

User모드 사용률   = user diff / usediff + systmediff + nice_diff + idel_diff *100 

  

3 / ( 3 + 0 + 9 + 2197)  = 0.0014  *100 = 0.14  

 

 

35461 - 35457 = 4  

 

1743978 - 1743552 = 426  

34782 - 34770 = 12  

 

4/ (4+ 426+ 12) = 0.009 * 100 = 0.9  

 

 

 

 


'오락기 > Linux' 카테고리의 다른 글

모니터링 메모리 파싱  (0) 2018.08.17
리눅스 모니터링 tcp 파싱  (0) 2018.08.17
Centos7 svn 셋팅  (0) 2017.06.21
Centos7 oracle 설치 셋팅  (0) 2017.06.21
centos 7 에 jdk 와 tomcat 설치  (0) 2017.06.14

노드 서버 모니터링을 위한 tcp6 커넥션파싱 

 

/proc/15610/net 

/proc/[node서버PID] /net  여러가지 파일이 있다. 

Tcp udp 현재 http request tcp6 나오기에 이걸 파싱 

 

16진수이다 

엔디언(Endianness)은 컴퓨터의 메모리 같은 1차원의 공간에 여러 개의 연속된 대상을 배열하는 방법을 뜻하며,바이트 배열하는 방법을 특히 바이트 순서(Byte order) 한다. 

엔디언은 보통 큰 단위가 앞에 나오는 빅 엔디언(Big-endian) 작은 단위가 앞에 나오는 리틀 엔디언(Little-endian)으로 나눌  있으며 경우에 속하지 않거나 둘을 모두 지원하는 것을 미들 엔디언(Middle-endian)이라 부르기도 한다. 

 

엔디언이 리틀엔디언같다. 

sl  local_address                         remote_address                        st tx_queue rx_queue tr tm->when retrnsmt   uid  timeout inode 

   0: 00000000000000000000000000000000:0050 00000000000000000000000000000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 13596 1 b2828000 100 0 0 10 0 

   1: 00000000000000000000000000000000:1F91 00000000000000000000000000000000:0000 0A 00000000:00000000 00:00000000 00000000  1000        0 16602 1 b67f06c0 100 0 0 10 0 

   2: 00000000000000000000000000000000:0015 00000000000000000000000000000000:0000 0A 00000000:00000000 00:00000000 00000000   111        0 79271 1 b2830000 100 0 0 10 0 

   3: 00000000000000000000000000000000:C8D5 00000000000000000000000000000000:0000 0A 00000000:00000000 00:00000000 00000000   113        0 12155 1 b28086c0 100 0 0 10 0 

   4: 00000000000000000000000000000000:0016 00000000000000000000000000000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 12971 1 b67f0000 100 0 0 10 0 

   5: 00000000000000000000000000000000:0BB8 00000000000000000000000000000000:0000 0A 00000000:00000000 00:00000000 00000000  1000        0 1087391 1 b282a880 100 0 0 10 0 

   6: 00000000000000000000000000000000:0BB9 00000000000000000000000000000000:0000 0A 00000000:00000000 00:00000000 00000000  1000        0 1087390 1 b282e540 100 0 0 10 0 

   7: 00000000000000000000000000000000:01BB 00000000000000000000000000000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 13600 1 b28286c0 100 0 0 10 0 

   8: 0000000000000000FFFF00000400A8C0:0050 0000000000000000FFFF000075246A2ㅁㅁ7:2203 05 00000000:00000000 03:0000144A 00000000     0        0 0 3 9ed2eb80 

   9: 0000000000000000FFFF00000400A8C0:0015 0000000000000000FFFF0000646A8873:2291 01 00000000:00000000 02:0002795F 00000000   111        0 1054971 2 b282ca40 43 4 18 4 4 

  10: 0000000000000000FFFF00000400A8C0:0050 0000000000000000FFFF000075246A27:21BA 06 00000000:00000000 03:00001377 00000000     0        0 0 3 94498678 

  11: 0000000000000000FFFF00000400A8C0:0015 0000000000000000FFFF0000646A8873:22CE 01 00000000:00000000 02:0002884F 00000000   111        0 1052403 2 b282f2c0 57 4 31 3 2 

 

현재 필요한건 remote addr st이다. 

 

 0000000000000000FFFF0000646A8873:22CE  

이부분을 보게 되면 

 

FF FF 00 00 64 6A 88 73:22CE  

256 256  0 0 100 6 136 115:8910  

이렇게 볼수있고  리틀앤디언이니 

115.136.6.100:8910에서 커넥션했다고 할수있다 

 

St 경우엔 상태값을 나타내는데  값의 정의를 찾아보면 

 

cat /usr/include/netinet/tcp.h 

 

 

이렇게 되어있고  

 

enum 

{ 

  TCP_ESTABLISHED = 1, 

  TCP_SYN_SENT, 

  TCP_SYN_RECV, 

  TCP_FIN_WAIT1, 

  TCP_FIN_WAIT2, 

  TCP_TIME_WAIT, 

  TCP_CLOSE, 

  TCP_CLOSE_WAIT, 

  TCP_LAST_ACK, 

  TCP_LISTEN, 

  TCP_CLOSING   /* now a valid state */ 

}; 

 

 

뜻을보면 검색을해보니  

  

LISTEN: 요청을 받을 수 있도록 연결 요구를 기다리는 상태. 즉 포트가 열려있음을 의미. HTTP(80), MAIL(25), FTP(21), TELNET(23) 등. 

SYN_SENT: 로컬에서 원격으로 연결 요청(SYN 신호를 보냄)을 시도한 상태. 

SYN_RECV: 원격으로부터 연결 요청을 받은 상태. 요청을 받아 SYN+ACK 신호로 응답을 상태지만 ACK는 받지 못했다. 윈도우와 솔라리스에서는 SYN_RECEIVED로, FreeBSD는 SYN_RCVD로 표시한다. 

ESTABLISHED: 상호 연결이 된 상태. 

 

 

 

네트워크 관련되어선 핸드쉐이킹이니 아무것도 모르기때문에 뜻만보면 

FIN_WAIT1: 소켓이 닫히고 연결이 종료되고 있는 상태. 원격의 응답은 계속 받을 수 있다. 

FIN_WAIT2: 로컬이 원격으로부터 연결 종료 요구를 기다리는 상태. 

CLOSE_WAIT: 원격이 종료 요청을 받고 연결이 종료되기를 기다리는 상태. 원격으로 부터 FIN+ACK 신호를 받고 ACK 신호를 원격으로 보냈다. 

TIME_WAIT: 종료 준비가 끝났으나 원격의 수신 보장을 위해 기다리는 상태(Apache에서 KeepAlive를 OFF로 해둔 경우, Tomcat 서버를 쓰는 경우 등에서 이 상태를 자주 볼 수 있다.). 마지막으로 ACK를 보냈으나 바로 CLOSED 하지 않고 2 MSL(Maximum segment lifetime) 동안 이 상태를 유지한다. 그 이유는 아래에 자세히 설명. 

LAST_WAIT: 연결은 종료되었고 ACK를 기다리는 상태. 

CLOSED: 완전히 연결이 종료된 상태. 

 

 

 

으로 볼수있다. 

 

 

첨부터 상태값 모니터링 상태를 보여주기위한 지식도 필요해서 긁어왓따. 

 

TIME_WAIT 상태를 유지하는 이유 

TIME_WAIT가 필요한 이유는 2가지가 있다. 《Unix Network Programming》에서는 TIME_WAIT 상태가 있는 이유에 대해 다음과 같이 설명한다. 

  1. to implement TCP's full-duplex connection termination reliably, and 

  2. to allow old duplicate segments to expire in the network. 

 

첫 번째 이유는 원격의 종료까지 확인하여 신뢰성 있는 연결 종료를 위한 것이고, 두 번째 이유는 만료된 연결의 패킷 제거를 위해서인데, 종료한 소켓이 TIME_WAIT 상태에서 금방 사라지지 않는 이유가 두 번째 이유 때문이다. 이런 상황을 가정할 수 있다. 둘이 패킷을 주고 받다가 정상적으로 연결을 끊었다. 그리고 둘이 곧바로 연결을 해서 방금 전과 같은 포트로 연결되었다. 여기서 문제가 발생하는데 이전에 연결이 되었을 때 보낸 패킷이 라우터의 일시적인 오류로 네트워크를 뱅뱅 돌다가 다시 새로운 연결이 되었을 때 도착할 수 있다. 즉, 모든 패킷 순서를 엄격히 보장하는 TCP에서 원하지 않는 데이터가 수신되었으니 네트워크 오류가 발생할 수 있다. 이 때 TIME_WAIT 상태를 유지하면 같은 포트를 다른 프로세스가 다시 이용하는 것을 막는다. 같은 연결이 발생하지 못하도록 방지한다. 그리고 TIME_WAIT 상태는 2 MLS 시간 동안 유지한다. 즉, 네트워크에 패킷이 존재하는 시간보다 두 배 길게 설정된다. 따라서 TIME_WAIT 상태가 끝나면 네트워크 상에는 이전 연결에 보내졌던 패킷이 모두 소멸되었다고 확신할 수 있으므로 새로운 연결을 만들어도 문제가 발생하지 않을 것이다. 

 

* TIME_WAIT로 인해 부하가 걸리지는 않는다. 실제로 웹 서버를 운영하면 TIME_WAIT 상태가 수십, 수백 개 생기기도 한다. 수십 개 정도는 일반적인 수준이다. 

* SYN_RECV 상태가 너무 많다면 문제가 생길 수는 있다(DOS 공격을 받고 있을 수 있다.). 

 

 

 

 


'오락기 > Linux' 카테고리의 다른 글

모니터링 메모리 파싱  (0) 2018.08.17
모니터링 cpu 사용량  (0) 2018.08.17
Centos7 svn 셋팅  (0) 2017.06.21
Centos7 oracle 설치 셋팅  (0) 2017.06.21
centos 7 에 jdk 와 tomcat 설치  (0) 2017.06.14

[root@localhost ~]# rpm -qa | grep subversion

[root@localhost ~]# yum list subversion*

Loaded plugins: fastestmirror, priorities

Loading mirror speeds from cached hostfile

 * base: ftp.daumkakao.com

 * extras: ftp.daumkakao.com

 * jpackage: sunsite.informatik.rwth-aachen.de

 * updates: ftp.daumkakao.com

442 packages excluded due to repository priority protections

Available Packages

subversion.i686                                            1.7.14-10.el7                                   base

subversion.x86_64                                          1.7.14-10.el7                                   base

subversion-devel.i686                                      1.7.14-10.el7                                   base

subversion-devel.x86_64                                    1.7.14-10.el7                                   base

subversion-gnome.i686                                      1.7.14-10.el7                                   base

subversion-gnome.x86_64                                    1.7.14-10.el7                                   base

subversion-javahl.i686                                     1.7.14-10.el7                                   base

subversion-javahl.x86_64                                   1.7.14-10.el7                                   base

subversion-kde.i686                                        1.7.14-10.el7                                   base

subversion-kde.x86_64                                      1.7.14-10.el7                                   base

subversion-libs.i686                                       1.7.14-10.el7                                   base

subversion-libs.x86_64                                     1.7.14-10.el7                                   base

subversion-perl.i686                                       1.7.14-10.el7                                   base

subversion-perl.x86_64                                     1.7.14-10.el7                                   base

subversion-python.x86_64                                   1.7.14-10.el7                                   base

subversion-ruby.i686                                       1.7.14-10.el7                                   base

subversion-ruby.x86_64                                     1.7.14-10.el7                                   base

subversion-tools.x86_64                                    1.7.14-10.el7                                   base


두번째꺼

yum install subvertsion



레파지토리 설정


[root@localhost repos]# svnadmin create --fs-type fsfs project



svnseve 생성 및 수정


OPTIONS="--threads --root /svn"


or


OPTIONS="--threads --root /svn --listen-port 9999"


svnserve.conf 수정


[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz



[svnadmin@localhost sysconfig]$ service svnserve start

Redirecting to /bin/systemctl start  svnserve.service

==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===

Authentication is required to manage system services or units.

Authenticating as: root

Password:

==== AUTHENTICATION COMPLETE ===

Job for svnserve.service failed because the control process exited with error code. See "systemctl status svnserve.service" and "journalctl -xe" for details.

[svnadmin@localhost sysconfig]$ systemctl status svnserve.service

● svnserve.service - Subversion protocol daemon

   Loaded: loaded (/usr/lib/systemd/system/svnserve.service; disabled; vendor preset: disabled)

   Active: failed (Result: exit-code) since 수 2017-06-21 14:21:07 KST; 12s ago

  Process: 3021 ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid $OPTIONS (code=exited, status=1/FAILURE)



문제가 있는거같음 

server가 7부터 systmectl로 바뀌어서 매우 불편함 여러가지로 우선 찾아보니
서비스 enable이 안되어있어서 그런듯

systemctl list-unit-files |grep svnserve
svnserve.service                              disabled


systemctl enable svnserve.service

svnserve.service                              enabled



후에 저장소 만들고

svnadmin create

권한 설정 기타 등등  완료

근데 안된다.... 퍼미션 문제로 게속 발목을 잡혀서 추후에 다시 해봄








'오락기 > Linux' 카테고리의 다른 글

모니터링 cpu 사용량  (0) 2018.08.17
리눅스 모니터링 tcp 파싱  (0) 2018.08.17
Centos7 oracle 설치 셋팅  (0) 2017.06.21
centos 7 에 jdk 와 tomcat 설치  (0) 2017.06.14
centos 7 ssh 설정  (0) 2017.06.14

http://www.davidghedini.com/pg/entry/install_oracle_11g_xe_on


xe를 설치하였는데 해당 셋팅을 따라하였다

(꼭 필요한것만 셋팅함 개발용이기때문에)



패스 등록은 추후에 oracle 설치시 제네레이션 된 정보를 토대로 그대로 사용


1. /etc/oratab에  자동실행 Y로 수정


2. /etc/init.d/oracle 스크립트확인 수정 작성

여기에 dbstart하고 와 path설정 기타 등등이 잇다.


3.chkconifg 서비스 등록 


chkconfig list확인


chkconfig --list oracle*


[root@localhost init.d]# chkconfig --list oracle*


알림: 이 출력 결과에서는 SysV 서비스만을 보여주며 기존의 systemd 서비스는

포함되어 있지 않습니다. SysV 설정 데이터는 기존의 systemd  설정에 의해

덮어쓰기될 수 있습니다.


      'systemctl list-unit-files'를 사용하여 systemd 서비스를 나열합니다.

       특정 대상에 활성화된 서비스를 확인하려면

       'systemctl list-dependencies [target]'을 사용합니다.


oracle-xe       0:해제  1:해제  2:활성  3:활성  4:활성  5:활성  6:해제

[root@localhost init.d]# chkconfig oracle-xe on


reboot 





'오락기 > Linux' 카테고리의 다른 글

리눅스 모니터링 tcp 파싱  (0) 2018.08.17
Centos7 svn 셋팅  (0) 2017.06.21
centos 7 에 jdk 와 tomcat 설치  (0) 2017.06.14
centos 7 ssh 설정  (0) 2017.06.14
centos 7 최소설치 후 셋업  (0) 2017.06.12

yum  list java*jdk-devel


yum install java-1.8.0-openjdk-devel.i686  


설치완료


테스트


는 계정을 root로해서 다시 작업한다 계정만든다


그냥 설치해도되는데 오늘은 yum을 이용하여 설치한다


아마도 jpackage가 필요할꺼같다.



yum install yum-priorities


rpm -Uvh http://mirrors.dotsrc.org/jpackage/6.0/generic/free/RPMS/jpackage-release-6-3.jpp6.noarch.rpm


rpm -qa jpackage-release*


 cat /etc/yum.repos.d/jpackage.repo


잘설치 되었음


리스트 확인해보면 차이가 많이 난다. 


7을 설치한다


오류가 난다.


error  to work around the problem You could try running: rpm -Va --nofiles --

nodigest 


yum의 캐시를 초기화 


yum clean all





















'오락기 > Linux' 카테고리의 다른 글

Centos7 svn 셋팅  (0) 2017.06.21
Centos7 oracle 설치 셋팅  (0) 2017.06.21
centos 7 ssh 설정  (0) 2017.06.14
centos 7 최소설치 후 셋업  (0) 2017.06.12
LXC - 시작 (1)  (0) 2017.03.15

sudo service network restart












sshd 서비스 시작



안됨


iptables 설치


yum -y intall iptables-services



그래도 안되길래 그냥 재설치해봄 


yum -y install openssh-server


잘됩니다




/etc/sysconfig/iptables


-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT







'오락기 > Linux' 카테고리의 다른 글

Centos7 oracle 설치 셋팅  (0) 2017.06.21
centos 7 에 jdk 와 tomcat 설치  (0) 2017.06.14
centos 7 최소설치 후 셋업  (0) 2017.06.12
LXC - 시작 (1)  (0) 2017.03.15
LXC - 간략  (0) 2017.03.14

네트워크 확인


nmcli d









nmtui



->Edit a connection



->Edit



-> Automatically connect 와 Available to all users 체크



종료



'오락기 > Linux' 카테고리의 다른 글

Centos7 oracle 설치 셋팅  (0) 2017.06.21
centos 7 에 jdk 와 tomcat 설치  (0) 2017.06.14
centos 7 ssh 설정  (0) 2017.06.14
LXC - 시작 (1)  (0) 2017.03.15
LXC - 간략  (0) 2017.03.14

출처 : https://linuxcontainers.org

요구 사양

최소 사양 :

  • C 라이브러리로 glibc, musl libc, uclib, bionic 중 하나
  • 리눅스 커널 >= 2.6.32

lxc-attach 사용을 위한 추가 사양 :

  • 리눅스 커널 >= 3.8

비특권 컨테이너 사용을 위한 추가 사양 :

  • cgmanager 또는 비특권 컨트롤 그룹 작업이 가능한 다른 컨트롤 그룹 관리자
  • newuidmap와 newgidmap가 최신버전의 shadow
  • 리눅스 커널 >= 3.12

추천 라이브러리 :

  • libcap (캐퍼빌리티 제거를 위해)
  • libapparmor (컨테이너마다 다른 apparmor 프로파일 적용을 위해)
  • libselinux (컨테이너마다 다른 selinux context 적용을 위해)
  • libseccomp (컨테이너를 위한 seccomp 정책 적용을 위해)
  • libgnutls (여러 checksum 연산을 위해)
  • liblua (LUA 바인딩을 위해)
  • python3-dev (python3 바인딩을 위해)

근데 지금 현재 centos의 커널을 확인해보면


따라서 커널부터 업데이트 해준다

https://www.kernel.org/pub/linux/kernel/v3.x/


문방구 앞 병아리 고르듯 수많은 커널중에 제일 마음에 드는 놈으로 
골라잡아보자



#yum install ncurses-devel

혹시 모르니 해두자



'오락기 > Linux' 카테고리의 다른 글

Centos7 oracle 설치 셋팅  (0) 2017.06.21
centos 7 에 jdk 와 tomcat 설치  (0) 2017.06.14
centos 7 ssh 설정  (0) 2017.06.14
centos 7 최소설치 후 셋업  (0) 2017.06.12
LXC - 간략  (0) 2017.03.14
LXC (LinuX Containers)는 단일 컨트롤 호스트 상에서 여러개의 고립된 리눅스 시스템 (컨테이너)들을 실행하기 위한 운영 시스템 레벨 가상화 방법이다.  리눅스 커널은 cgroups를 절충하여 가상화 머신을 시작할 필요 없이 자원 할당 (CPU, 메모리, 블록 I/O, 네트워크 등)을 한다. Cgroups는 또한 애플리케이션 입장에서 프로세스 트리, 네트워크, 사용자 ID, 마운트된 파일 시스템 등의 운영 환경을 완전히 고립시키기 위해 namespace isolation을 제공한다.  LXC는 cgroups와 namespace를 결합하여 애플리케이션을 위한 고립된 환경을 제공한다. Docker 또한 실행 드라이버의 하나로 LXC를 사용할 수 있으며 이를 통해 이미지 관리와 개발 서비스를 제공한다. 


기존 가상머신은 Host OS 위에 가상화 기술이 접목시키고 각각의 가상 os가 올라가고 그위에 해당 프로세스가동작하는 형태

Host OS와 Guest OS가 완전히 분리되는 장점이 존재하지만 오헤드가 증가하는 단점을 가지고있음.


리눅스 컨테이너는 오른쪽 그림과같이 Host OS위에서 바로 시작할 수 있음. 해당 과정의 일부는 그룹화 시키고 개별적으로 돌아가는 프로세스는 단절된 공간에서 구동되기때문에 가상머신기술보다 속도는 빠르다.


하지만 Host OS에 모든 프로세스가 종속적으로 돌아가게 되고 컨테이너별 커널 구성은 불가능하다.



출처 : https://ko.wikipedia.org    http://forum.odroid.com    https://linuxcontainers.org/

'오락기 > Linux' 카테고리의 다른 글

Centos7 oracle 설치 셋팅  (0) 2017.06.21
centos 7 에 jdk 와 tomcat 설치  (0) 2017.06.14
centos 7 ssh 설정  (0) 2017.06.14
centos 7 최소설치 후 셋업  (0) 2017.06.12
LXC - 시작 (1)  (0) 2017.03.15

+ Recent posts