문서 편집 권한이 없습니다. 다음 이유를 확인해주세요: 요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다: 사용자. 문서의 원본을 보거나 복사할 수 있습니다. __FORCETOC__ === 서비스 확인 === imRAD 서비스(데몬) 상태를 확인하려면 user mode에서 <code>show service</code>를 실행하세요. <pre> LYSH@MyHostName# show service name status version enablement runtime-log uptime dhcpv4 active 6.1.2059.137 linked enabled since Thu 2021-04-08 16:11:35 KST; 1 weeks 4 days ago dhcpv6 active 6.1.2059.137 linked enabled since Mon 2021-04-05 14:55:22 KST; 2 weeks 1 days ago failover inactive 6.1.1939.49 linked enabled - logexp active 1.1.2043.208 linked enabled since Mon 2021-03-29 09:21:54 KST; 3 weeks 1 days ago radiusd active 3.0.21.1751 linked enabled since Tue 2021-04-13 14:53:06 KST; 1 weeks 0 days ago smgr active 6.0.2060.1 linked enabled since Tue 2021-03-23 16:01:00 KST; 3 weeks 6 days ago startup active 1.1.1955.1 enabled enabled since Mon 2021-02-01 08:07:05 KST; 2 months 17 days ago </pre> "status"는 서비스의 상태를 나타내며 active, reloading, inactive, failed, activating, 또는 deactivating 중 하나로 표시됩니다. 현재 서비스가 실행 중이면 "active"로 표시되며 정상적으로 중지된 경우 "Inactive"로 표시됩니다. 만일 서비스가 비정상적으로 종료되면 "failed"로 표시됩니다.<ref name='systemctl_man'>https://man7.org/linux/man-pages/man1/systemctl.1.html</ref> "enablement"는 서비스가 자동시작(enabled) 혹은 수동시작(linked)인지를 의미합니다.<ref name='systemctl_man' /> 자동시작은 장비가 재부팅 이후 서비스가 자동으로 시작된다는 의미입니다. 서비스가 운영중인 상태에서 자신의 동작에 대해 로그를 기록 할 수 있는데 그 로그를 "Runtime Log"라 합니다. 이러한 로그는 "사용함"으로 설정되어야만 기록되는데 그 상태를 "runtime-log"에서 표시합니다. "Runtime Log"에 대한 자세한 사항은 아래 세션을 참고하세요. "uptime"은 서비스가 얼마나 오래동안 동작 중인지 혹은 비정상 종료된 경우 언제 서비스가 중지되었는지를 표시합니다. <code>systemctl status {name}</code> 또는 <code>show service status {name}</code> 명령어를 실행하면 특정 서비스에 대해 자세한 상태 정보를 출력 할 수 있습니다. <pre> LYSH@MyHostName# systemctl status smgr ● smgr.service - System Management service Loaded: loaded (/lib/systemd/system/smgr.service; linked; vendor preset: enabled) Active: active (running) since Tue 2021-03-23 16:01:00 KST; 3 weeks 6 days ago Main PID: 203770 (ly_smgr) Tasks: 1 (limit: 9387) Memory: 28.9M CGroup: /system.slice/smgr.service └─203770 /usr/bin/php7.2 /usr/sbin/ly_smgr sys </pre> 서비스 이름을 제외하고 <code>show service status</code> 명령어를 실행하면 모든 실행 중인 서비스의 상태를 확인 할 수 있습니다. LYSH@MyHostName# show service status ● MyHostName State: degraded Jobs: 0 queued Failed: 1 units Since: Mon 2021-02-01 08:07:01 KST; 2 months 24 days ago CGroup: / ├─1282556 bpfilter_umh ├─user.slice │ └─user-1000.slice │ ├─user@1000.service … │ │ └─init.scope │ │ ├─3743524 /lib/systemd/systemd --user │ │ └─3743526 (sd-pam) ├─init.scope │ └─1 /sbin/init └─system.slice ├─irqbalance.service │ └─777 /usr/sbin/irqbalance --foreground ├─dhcpv4.service │ └─3865233 /usr/sbin/ly_dhcpv4 --daemon --ipv4 ├─apache2.service ..................... === 서비스 제어 === ===== 시작, 중지, 재시작 ===== user mode에서 <code>systemctl</code> 명령어를 이용해 서비스를 제어 할 수 있으며 제어가 가능한 서비스 목록은 다음과 같습니다. 각 서비스에 대한 설명은 [[imRAD services(daemons) | imRAD services]]를 참고하세요. * smgr * dhcpv4 * dhcpv6 * failover * startup * logexp * radiusd * mysql * apache2 * rsyslog <pre> LYSH@MyHostName# systemctl start smgr // Starting the smgr service. LYSH@MyHostName# show service // display all services LYSH@MyHostName# systemctl stop smgr // Stopping the smgr service. LYSH@MyHostName# show service // display all services LYSH@MyHostName# systemctl restart smgr // Restarting the smgr service. LYSH@MyHostName# show service // display all services </pre> ===== Enable and Link ===== <code>systemctl enable</code> 또는 <code>systemctl link</code> 명령어를 이용해 서비스 시작 상태를 자동 혹은 수동으로 변경 할 수 있습니다. <pre> LYSH@MyHostName# systemctl enable failover name status version enablement runtime-log uptime ..... failover inactive 6.1.1939.49 enabled enabled - ..... LYSH@MyHostName# systemctl link failover LYSH@MyHostName# show service name status version enablement runtime-log uptime ..... failover inactive 6.1.1939.49 linked enabled - ..... </pre> ''주의: '''smgr, mysql, 그리고 apache2''' 서비스는 필수 서비스 이므로 수동(link)로 설정하지마세요.'' 제품 초기에 설정된 기본 값은 다음과 같습니다. * linked: dhcpv4, dhcpv6, failover, logexp, and radiusd * enabled: smgr, startup, mysql, and apache2 === 런타임 데이터(Runtime Data) === 특정 서비스는 시작시 데이터베이스 또는 설정으로 부터 데이터를 로딩 후 서비스를 운영하며 서비스 동작중에 데이터베이스나 설정이 변경되면 수초내에 서비스에 바로 적용되는데 이러한 데이터를 "런타임 데이터"라고 합니다. 서비스가 정상적으로 운영중이라면 런타임 데이터는 관리인터페이스에 표시된 내용과 동일하게 표시되어야 합니다. 예로, 관리 인터페이스를 통해 하나의 DHCP 범위를 추가하면 수초내에 "런타임 데이터"에서도 동일한 범위가 나타나야합니다. 만일 시간이 지나도 데이터가 동기화되지 않으면 서비스를 재시작 해야합니다. 이러한 데이터를 표시하려면 <code>show service {service name} {data type}</code> 명령어를 사용해 확인 할 수 있습니다. <pre> LYSH@MyHostName# show service dhcpv4 pool DHCP-Scope> written at 2021-04-20 16:10:09 (KST, +0900) -------------------------------------------------------------------------------------------------------- ssid ipver stateful ptn T(preferred) T(valid) sid ena gateway start ip count IA -------------------------------------------------------------------------------------------------------- 119 4 - 0 10m 6h #250 y 192.168.5.1/24 192.168.5.200 20 0x01 </pre> 만일 런타임 데이터를 확인 할 서비스가 동작중이 아니면 <code>show service {service name} {data type}</code> 명령어는 아래와 같은 오류를 표시합니다. <pre> LYSH@MyHostName# show service dhcpv4 pool sending request> message[0], ipver[4] [E-11] No response from service... </pre> imRAD 서비스중 dhcpv4, dhcpv6, 그리고 failover service만 런타임 데이터를 제공합니다. ===== [[ImRAD services(daemons) | dhcpv4/dhcpv6]]===== {| class="wikitable" ! style='width:150px' | argument !! 설명 |- | failover || DHCP Failover 상태를 표시합니다. |- | host || 모든 DHCP 범위의 IP 주소를 표시합니다. 원하는 주소를 확인하려면 키워드를 이용해 출력 할 수 있습니다. * status: IP 주소 상태를 나태냅니다. ** avail: IP 주소가 할당 가능한 상태입니다. ** decl: 임대 거부된 상태이며 "dhcpv4_decline_age"나 "dhcpv6_decline_age" 이후 할당 가능 상태로 변경됩니다. ** bound: 사죵중인 IP 주소 입니다. ** offer: DHCP 클라이언트 요청에 응답한 주소(DHCPv6에서는 "advert")로 아직 임대는되지 않은 주소이며 동일 클랑이언트가 다시 요청하지 않으면 일정 시간은 "avail" 상태로 변경됩니다. ** invalid: 범위를 벗어난 IP 주소 입니다. * flag: IP 주소가 예약된 경우 0x2가 포함되며 제외된 경우 0x4가 포함됩니다. 예로, flag가 0x6이라면, IP 주소는 예약이면서 동시에 제외된 주소임을 나타냅니다. * age: 마지막 임대 후 경과된 시간(초)을 나타내며 지속적으로 증가되며 클라이언트로 부터 renew 요청 후 응답이 전송되면 그 값은 다시 0으로 초기화됩니다. 만일 age가 범위의 임대 시간을 초과하면 그 주소는 임대 만료로 간주되어 상태가 "avail"로 변경됩니다. * oage: offer(또는 advert) age로 특정 클라이언트에 주소를 제공했는데 요청을 하지 않으면 이 값이 증가되며 30 초가 지나면 그 주소는 "avail" 상태로 변경됩니다. * hit-date: 특정 클라이언트에 마지막으로 주소를 할당했거나 해제 혹은 거부된 시간 입니다. |- | option || [[DHCP 옵션]]을 표시합니다.. |- | reserv || 모든 예약된 IP 주소를 표시하면 키워드를 이용해 특정 주소만 출력 할 수 있습니다. |- | setting || DHCP 서비스가 읽은 [[환경변수(variables)]] 및 [[DHCP 일반 설정]] 정보를 표시합니다. |} ===== [[ImRAD services(daemons) | logexp]] ===== {| class="wikitable" ! style='width:150px' | argument !! Description |- | server || 내보낸 로그 결과를 보여줍니다. |- | setting || logexp 서비스 [[환경변수(variables) | 설정 정보]]를 표시합니다. |- | table || 로그 서버에 전송한 로그 테이블 정보를 표시합니다. |- |} === 런타임 로그(Runtime Log) === 런타임 로그는 서비스가 운영 상태에서 실시간으로 생성한 로그를 의미하며 동작을 분석 하거나 장애 피드백을 위해 사용 할 수 있습니다. 만일 runtime-log가 disable된 경우 configuration mode에서 활성 시켜야 로그가 기록됩니다. <pre> LYSH@MyHostName# configure configure# rtlog enable {service_name} configure# exit LYSH@MyHostName# show log {service_name} -w </pre> 이렇게 런타임 로그를 활성시키면 code>show log</code> 명령어를 통해 로그를 표시할 수 있습니다. 로그 출력에 대한 자세한 설명은 [[CLI - Log]] 섹션을 참고하세요. <pre> LYSH@MyHostName# show log dhcpv4 LYSH@MyHostName# show log dhcpv4 -w </pre> smgr, startup 그리고 radiusd 서비스에 대한 런타임 로그는 기본적으로 활성되어 있으며 radiusd에 대한 런타임 로그는 중지시킬 수 없습니다. ''런타임 로그는 상당히 많은 내용이 기록되므로 필요시 활성시키고 모든 작업이 완료되면 다시 중지시킬것을 권장합니다.'' === 서비스 변수 설정 === configuration mode에서 [[ImRAD services(daemons) |DHCP]] 서비스와 [[ImRAD services(daemons) |logexp]] 서비스의 [[환경변수(variables)]]를 설정할 수 있습니다. 설정되어있는 값을 확인하려면 <code>show system</code> 또는 <code>show config</code> 명령어를 user mode에서 실행하세요. ===== dhcpv4 / dhcpv6 ===== <pre> LYSH@MyHostName# configure configure# dhcpv4 {argument} {value} // configuring a variable of the dhcpv4 service configure# dhcpv6 {argument} {value} // configuring a variable of the dhcpv4 service </pre> {| class="wikitable" ! style='width:150px' | argument !! 환경변수 이름 |- | dbpool || dhcpv4_dbpool, dhcpv6_dbpool |- | decline || dhcpv4_decline_age, dhcpv6_decline_age |- | entid|| entid_from_hostname |- | expire || dhcpv4_expire_check_intv, dhcpv6_expire_check_intv |- | postdhcp|| postdhcp_success |- | rcvbuf|| dhcpv4_socket_rcvbuf, dhcpv6_socket_rcvbuf |- | sndbuf|| dhcpv4_socket_sndbuf, dhcpv6_socket_sndbuf |- | encoding || from_encoding |- |} ===== logexp ===== <pre> LYSH@MyHostName# configure configure# logexp {argument} {value} // configuring a variable of the logexp service </pre> {| class="wikitable" ! style='width:150px' | argument !! 변수 이름 |- | dbpool || logexp_dbpool |- | lsyslog || lsyslog_priority |- | syslog || syslog_priority |} {{note|환경변수를 설정하기전 반드시 [[환경변수(variables)]]를 확인하세요.}} === References === 이 문서에서 사용한 틀: 틀:Note (원본 보기) CLI - 서비스(데몬) 문서로 돌아갑니다.