AutoFS

yoni·2023년 4월 18일

Linux

목록 보기
12/16

NFS vs CIFS

nfs = unix, linux
cifs = windows

File Sharing via NFS

  • 공유 파일 시스템
  • 버전이 여러개 존재
    • NFS v1/v2 : UDP 프로토콜
      • 1:다
      • 빠르다
      • 복구 기능 X, 대용량 파일 전송 불가 WAN환경에서 적합 X)
    • NFS v3 : TCP 기반
      • 64-bit file 지원
      • 2Gb이상의 파일 전송 가능,
      • WAN 환경 적합
      • but 보안관련 문제 존재
      • port 번호 여러개 쓰임 -> 방화벽 여러개 열어야 함. (불편)
    • NFS v4 : TCP 기반
      • 보안 관련 문제 보완
      • TCP port 2049 하나로 통합

NFS clients

  • showmount -e server(nfs server ip)
    • mount -t nfs nfs서버ip:/공유디렉토리 마운트포인트

@@Physical computer
> nfs utils 패키지 있는지 확인
[root@station14 ~]# rpm -qa | grep nfs
libnfsidmap-0.25-15.el7.x86_64
nfs4-acl-tools-0.3.3-15.el7.x86_64
nfs-utils-1.3.0-0.33.el7_3.x86_64

> 실습 서버가 공유하고 있는 공유 디렉토리 목록 출력
[root@station14 ~]# showmount -e 59.29.224.181
Export list for 59.29.224.181:
/export/courserepos *
/export/autoyast    *
/export/home        *
/export/tmp         *
/export/netinstall  *
/export/kickstart   *

> /data1이라는 서브 디렉토리 생성
[root@station14 ~]# mkdir /data1

> 공유 디렉토리에 /data1 마운트
[root@station14 ~]# mount -t nfs 59.29.224.181:/export/netinstall /data1

> df -h 확인
[root@station14 ~]# df -h
Filesystem                        Size  Used Avail Use% Mounted on
/dev/mapper/vg0-root              8.0G  4.6G  3.5G  57% /
devtmpfs                          7.8G     0  7.8G   0% /dev
tmpfs                             7.8G   54M  7.8G   1% /dev/shm
tmpfs                             7.8G  712K  7.8G   1% /run
tmpfs                             7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/sda1                         494M  151M  344M  31% /boot
/dev/mapper/vg0-tmp              1014M   34M  981M   4% /tmp
/dev/mapper/vg0-var               2.0G  671M  1.4G  33% /var
/dev/sda3                         100G  4.9G   96G   5% /var/lib/libvirt/images
tmpfs                             1.6G   12K  1.6G   1% /run/user/0
59.29.224.181:/export/netinstall  931G   14G  917G   2% /data1  --this check!!

> /data1 디렉토리에 mount된 모습
[root@station14 ~]# ls /data1
CENTOS7  configs  postinstalldata  README.txt

자동 mount 방법

  • /etc/fstab 파일에 등록 -> 다음번 부팅할 때, 자동으로 마운트된다.

    • 첫번째 컬럼 : 59.29.224.181:/공유디렉토리명

    • 두번째 컬럼: /data1

    • 세번째 컬럼 : nfs

    • 네번째 컬럼 : mount옵션 -> default

    • 다섯번째 컬럼 : 백업안하므로 -> 0

    • 여섯번째 컬럼 : 파일시스템체크할것인가? 내것도 아니므로 체크 x ->0

    • 문제점: 재부팅할 때 /data1에 마운트할 것이라고 시도를 하는데, nfs 서버에 응답이 없을 경우 계속 시도를 해서 결국 시스템 부팅이 안되는 문제 발생.

    • AutoFS를 설정하여 마운트하는 것이 일반적!

    • 부팅할 때 마운트하는게 아니라, 필요할 때 자동으로 마운트

  • AutoFS

    • /etc/fstab처럼 부팅할 때 마운트하는게 아니라, 필요할 때 자동으로 마운트해줌.
    • 사용하지 않는 경우에는 자동으로 unmount하는 기능도 포함.

재실습!!!!!!

@@@VM -nfs server

[root@localhost ~]# vi /etc/exports
/nfsdata 192.168.122.0/24(rw,sync)



> nfs-server 상태 확인
[root@localhost ~]# systemctl status nfs-server
● nfs-server.service - NFS server and services
   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

> nfs server start
[root@localhost ~]# systemctl start nfs-server

[root@localhost ~]# mkdir /nfsdata

[root@localhost ~]# cp /etc/*.conf /nfsdata

[root@localhost ~]# systemctl status nfs-server
● nfs-server.service - NFS server and services
   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)
   Active: active (exited) since Mon 2023-04-17 16:57:15 KST; 2min 4s ago
  Process: 8028 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS)
  Process: 8026 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=1/FAILURE)
 Main PID: 8028 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/nfs-server.service

Apr 17 16:57:15 localhost.localdomain systemd[1]: Starting NFS server and services...
Apr 17 16:57:15 localhost.localdomain exportfs[8026]: exportfs: Failed to stat /nfsdata: No such file or d...ory
Apr 17 16:57:15 localhost.localdomain systemd[1]: Started NFS server and services.
Hint: Some lines were ellipsized, use -l to show in full.

[root@localhost ~]# systemctl restart nfs-server

[root@localhost ~]# showmount -e localhost
Export list for localhost:
/nfsdata 192.168.122.0/24


@@@ physical computer - nfs client 역할
> data2 디렉토리 생성 후 vm에서 공유하는 디렉토리를 마운트 (재부팅 후에도 자동으로 마운트되도록 설정)
[root@station14 ~]# mkdir /data2

[root@station14 ~]# showmount -e vm의 ip

[root@station14 ~]# mkdir /data2

[root@station14 ~]# vi /etc/fstab
vm의ip:/nfsdata	/data2	nfs	defaults	0	0

[root@station14 ~]# mount -a

[root@station14 ~]# df -h



@@@ physical computer -nfs client
> cifs-utils와 samba있는지 검색
[root@station14 ~]#rpm -qa | grep 새-e samba -e cifs

[root@station14 ~]# smbclient -L 59.29.224.20 

[root@station14 ~]# mkdir /data3

[root@station14 ~]# moount -t cifs -o user=administrator //59.29.224.20/windata /data3

[root@station14 ~]# df -h 

[root@station14 ~]# ls /data3

AutoFS Configuration

/etc/auto.master

  • 메인 설정 파일
  • direct map 방식 or indirect map 방식으로 자동 mount할 것인지
    • direct -> 세부 설정 파일이 절대경로로 시작 (/test -옵션션)
    • indirect -> 세부 설정 파일이 상대경로로 시작

AutoFS 설정해보기

  • nfs server

    • /export/home
  • cifs

  • Physical computer

    • direct 방식 사용 (/- /etc/aaa.auto)
      • aaa.auto 세부 설정 파일 확인 -> /winfile :루트 밑에 winfile에 유저나 프로세스가 접근하면 자동으로 마운트
      • aaa.auto 세부 설정 파일 : /winfile -fstype=cifs,credentials=/root/z.txt //59.29.224.20/windata
    • indirect 방식 사용 (/myuser /etc/bbb.auto)
      • /myuser라는 특정 디렉토리에 접근하면, bbb.auto 세부 설정 파일을 참조하면 상대경로로 쓰여진 서브디렉토리 dsuser1, dsuser2, dsuser3 에 접근하면 자동으로 nfs server(59.29.224.181의 /export/home/dsuser1)에 자동으로 mount해달라. (즉, 특정 디렉토리 및으로 접근하면 바로 접근해달라)
      • bbb.auto 세부 설정 파일: (/myuser 아래 서브 디렉토리)
        1 dsuser1 -rw,sync 59.29.224.181:/export/home/dsuser1
        2 dsuser2 -rw,sync 59.29.224.181:/export/home/dsuser2
        3 dsuser3 -rw,sync 59.29.224.181:/export/home/dsuser3
        4 dsuser4 -rw,sync 59.29.224.181:/export/home/dsuser4
  • /winfile, /myuser 없으면 -> autofs가 자동으로 만들어줌

> autofs 있는지 확인
[root@station14 ~]# rpm -qa | grep autofs
libsss_autofs-1.14.0-43.el7_3.18.x86_64
autofs-5.0.7-56.el7.x86_64

> 마운트해제
[root@station14 ~]# umount /data1

[root@station14 ~]# vi /etc/auto.master
     29 /-      /etc/aaa.auto
     30 /myuser /etc/bbb.auto

> direct
[root@station14 ~]# vi /etc/aaa.auto
      1 /winfile  -fstype=cifs,credentials=/root/z.txt ://59.29.224.20/windata


[root@station14 ~]# vi /root/z.txt
     1 username=administrator
     2 password=

> indiarect
[root@station14 ~]# vi /etc/bbb.auto
     1 files    -rw,sync       59.29.224.181:/export/netinstall

   
[root@station14 ~]# systemctl restart autofs

> /winfile, /myuser 없으면 ->  autofs가 자동으로 만들어줌    
[root@station14 ~]# ls /
bin   data1  dev  home   lib    media  mnt  net  oracledb  root  sbin  sys  usr  winfile boot  data2  etc  labfiles  lib64  misc   myuser  opt  proc      run   srv   tmp  var

[root@station14 winfile]# ll /winfile
total 1496
-rwxr-xr-x. 1 root root  245248 Apr 14  2008 AcSpecfc.dll
-rwxr-xr-x. 1 root root   80856 Apr 14  2008 ding.wav
-rwxr-xr-x. 1 root root 1202774 Apr 14  2008 sysmain.sdb

[root@station14 winfile]# df -h
Filesystem              Size  Used Avail Use% Mounted on
/dev/mapper/vg0-root    8.0G  4.6G  3.5G  57% /
devtmpfs                7.8G     0  7.8G   0% /dev
tmpfs                   7.8G   62M  7.8G   1% /dev/shm
tmpfs                   7.8G  708K  7.8G   1% /run
tmpfs                   7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/sda1               494M  151M  344M  31% /boot
/dev/mapper/vg0-tmp    1014M   34M  981M   4% /tmp
/dev/mapper/vg0-var     2.0G  676M  1.4G  34% /var
/dev/sda3               100G  5.8G   95G   6% /var/lib/libvirt/images
tmpfs                   1.6G   12K  1.6G   1% /run/user/0
//59.29.224.20/windata  932G  4.8G  927G   1% /winfile


[root@station14 myuser]# ll /myuser/files
total 8
drwxr-xr-x. 8 root root  254 Apr  7 07:27 CENTOS7
drwxr-xr-x. 2 root root 4096 Apr  7 07:33 configs
drwxr-xr-x. 4 root root  105 Apr  7 07:32 postinstalldata
-rw-r--r--. 1 root root  154 Jan  6  2017 README.txt

> /myuser/files에 마운트됨.
[root@station14 myuser]# df -h
Filesystem                        Size  Used Avail Use% Mounted on
/dev/mapper/vg0-root              8.0G  4.6G  3.5G  57% /
devtmpfs                          7.8G     0  7.8G   0% /dev
tmpfs                             7.8G   62M  7.8G   1% /dev/shm
tmpfs                             7.8G  708K  7.8G   1% /run
tmpfs                             7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/sda1                         494M  151M  344M  31% /boot
/dev/mapper/vg0-tmp              1014M   34M  981M   4% /tmp
/dev/mapper/vg0-var               2.0G  676M  1.4G  34% /var
/dev/sda3                         100G  5.8G   95G   6% /var/lib/libvirt/images
tmpfs                             1.6G   12K  1.6G   1% /run/user/0
59.29.224.181:/export/netinstall  931G   14G  917G   2% /myuser/files

System Boot Method

V init

  • 커널에 의해 init 프로그램이 제일 먼저 실행 (pid=1)
    • init process: 순차처리
  • 부팅 속도가 빨라지지 않음 -> Upstart로 변경

Upstart

  • 마찬가지로 init process 사용
  • 사실 이전과 큰 차이가 없다.

Systemd

  • CentOS 7,8버전에 해당

  • init process가 아닌, systemd process를 통해서 다른 process를 관리 처리하겠다고 변경

  • 순차처리가 아닌, 병렬처리(Parallel) -> 부팅 속도 빨라짐

    • 즉, systemd가 여러 process를 병렬로 처리하여 속도의 향상
    • 만약 의존성 관계가 있으면 tree형태로 처리
    [root@station14 ~]# pstree -p
    systemd(1)─┬─NetworkManager(871)─┬─dhclient(938)
             │                     ├─{NetworkManager}(913)
             │                     └─{NetworkManager}(915)
             ├─abrt-watch-log(821)
             ├─abrt-watch-log(857)
             ├─abrtd(819)
             ├─accounts-daemon(830)─┬─{accounts-daemon}(841)
             │                      └─{accounts-daemon}(844)
             ├─acpid(868)
             ├─at-spi-bus-laun(1895)─┬─dbus-daemon(1900)───{dbus-daemon}(1901)
             │                       ├─{at-spi-bus-laun}(1896)
             │                       ├─{at-spi-bus-laun}(1897)
             │                       └─{at-spi-bus-laun}(1899)
             ├─at-spi2-registr(1903)─┬─{at-spi2-registr}(1904)
             │                       └─{at-spi2-registr}(1905)
             ├─atd(1146)
             ├─auditd(775)─┬─audispd(788)─┬─sedispatch(795)
             │             │              └─{audispd}(796)
             │             └─{auditd}(787)
             ├─automount(7447)─┬─{automount}(7448)
             │                 ├─{automount}(7449)
             │                 ├─{automount}(7452)
             │                 ├─{automount}(7455)
             │                 ├─{automount}(7456)
             │                 └─{automount}(7457)
             ├─avahi-daemon(839)───avahi-daemon(845)
             ├─caribou(1993)─┬─{caribou}(1996)
             │               └─{caribou}(1999)
             ├─chronyd(846)
             ├─colord(1485)─┬─{colord}(1488)
             │              └─{colord}(1490)
             ├─crond(1144)
             ├─cupsd(1121)
             ├─dbus-daemon(1724)───{dbus-daemon}(1725)
             ├─dbus-daemon(810)───{dbus-daemon}(813)
             ├─dbus-launch(1723)
             ├─dconf-service(2384)─┬─{dconf-service}(2385)
             │                     └─{dconf-service}(2386)
             ├─dnsmasq(1353)───dnsmasq(1354)
             ├─evolution-calen(2155)─┬─{evolution-calen}(2160)
             │                       ├─{evolution-calen}(2162)
             │                       ├─{evolution-calen}(2163)
             │                       ├─{evolution-calen}(2164)
             │                       └─{evolution-calen}(2167)
             ├─evolution-sourc(1964)─┬─{evolution-sourc}(1965)
             │                       └─{evolution-sourc}(1966)
             ├─gconfd-2(2318)
             ├─gdm(1143)─┬─Xorg(1398)─┬─{Xorg}(1399)
             │           │            ├─{Xorg}(1400)
             │           │            └─{Xorg}(1401)
             │           ├─gdm-session-wor(1696)─┬─gnome-session(1716)─┬─abrt-applet(2043)─┬─{abrt-applet+
             │           │                       │                     │                   └─{abrt-applet+
             │           │                       │                     ├─gnome-settings-(1912)─┬─{gnome-s+
             │           │                       │                     │                       ├─{gnome-s+
             │           │                       │                     │                       ├─{gnome-s+
             │           │                       │                     │                       └─{gnome-s+
             │           │                       │                     ├─gnome-shell(1928)─┬─firefox(2261+
             │           │                       │                     │                   ├─ibus-daemon(+
             │           │                       │                     │                   ├─{gnome-shell+
             │           │                       │                     │                   ├─{gnome-shell+
             │           │                       │                     │                   ├─{gnome-shell+
             │           │                       │                     │                   ├─{gnome-shell+
             │           │                       │                     │                   └─{gnome-shell+
             │           │                       │                     ├─gnome-software(2052)─┬─{gnome-so+
             │           │                       │                     │                      ├─{gnome-so+
             │           │                       │                     │                      └─{gnome-so+
             │           │                       │                     ├─nautilus(2026)─┬─{nautilus}(2028+
             │           │                       │                     │                ├─{nautilus}(2029+
             │           │                       │                     │                └─{nautilus}(2068+
             │           │                       │                     ├─seapplet(2032)
             │           │                       │                     ├─ssh-agent(1883)
             │           │                       │                     ├─tracker-extract(2046)─┬─{tracker+
             │           │                       │                     │                       ├─{tracker+
             │           │                       │                     │                       ├─{tracker+
             │           │                       │                     │                       ├─{tracker+
             │           │                       │                     │                       ├─{tracker+
             │           │                       │                     │                       ├─{tracker+
             │           │                       │                     │                       ├─{tracker+
             │           │                       │                     │                       ├─{tracker+
             │           │                       │                     │                       ├─{tracker+
             │           │                       │                     │                       ├─{tracker+
             │           │                       │                     │                       ├─{tracker+
             │           │                       │                     │                       ├─{tracker+
             │           │                       │                     │                       └─{tracker+
             │           │                       │                     ├─tracker-miner-a(2047)─┬─{tracker+
             │           │                       │                     │                       └─{tracker+
             │           │                       │                     ├─tracker-miner-f(2050)─┬─{tracker+
             │           │                       │                     │                       ├─{tracker+
             │           │                       │                     │                       └─{tracker+
             │           │                       │                     ├─tracker-miner-u(2051)─┬─{tracker+
             │           │                       │                     │                       └─{tracker+
             │           │                       │                     ├─{gnome-session}(1906)
             │           │                       │                     ├─{gnome-session}(1907)
             │           │                       │                     └─{gnome-session}(1908)
             │           │                       ├─{gdm-session-wor}(1697)
             │           │                       └─{gdm-session-wor}(1698)
             │           ├─{gdm}(1179)
             │           ├─{gdm}(1180)
             │           └─{gdm}(1397)
             ├─gnome-keyring-d(1706)─┬─{gnome-keyring-d}(1707)
             │                       ├─{gnome-keyring-d}(1920)
             │                       ├─{gnome-keyring-d}(1921)
             │                       └─{gnome-keyring-d}(1922)
             ├─gnome-shell-cal(1957)─┬─{gnome-shell-cal}(1960)
             │                       ├─{gnome-shell-cal}(1962)
             │                       ├─{gnome-shell-cal}(1977)
             │                       ├─{gnome-shell-cal}(1978)
             │                       └─{gnome-shell-cal}(2153)
             ├─gnome-terminal-(16364)─┬─bash(16372)───pstree(7971)
             │                        ├─gnome-pty-helpe(16371)
             │                        ├─{gnome-terminal-}(16365)
             │                        ├─{gnome-terminal-}(16366)
             │                        └─{gnome-terminal-}(16367)
             ├─goa-daemon(1969)─┬─{goa-daemon}(1970)
             │                  ├─{goa-daemon}(1972)
             │                  └─{goa-daemon}(1973)
             ├─goa-identity-se(1976)─┬─{goa-identity-se}(1981)
             │                       ├─{goa-identity-se}(1982)
             │                       └─{goa-identity-se}(1983)
             ├─gpm(823)
             ├─gsd-printer(1932)─┬─{gsd-printer}(1933)
             │                   └─{gsd-printer}(1934)
             ├─gssproxy(869)─┬─{gssproxy}(885)
             │               ├─{gssproxy}(886)
             │               ├─{gssproxy}(887)
             │               ├─{gssproxy}(888)
             │               └─{gssproxy}(889)
             ├─gvfs-afc-volume(2011)─┬─{gvfs-afc-volume}(2012)
             │                       ├─{gvfs-afc-volume}(2013)
             │                       └─{gvfs-afc-volume}(2015)
             ├─gvfs-goa-volume(2017)─┬─{gvfs-goa-volume}(2018)
             │                       └─{gvfs-goa-volume}(2019)
             ├─gvfs-gphoto2-vo(2022)─┬─{gvfs-gphoto2-vo}(2023)
             │                       └─{gvfs-gphoto2-vo}(2025)
             ├─gvfs-mtp-volume(2006)─┬─{gvfs-mtp-volume}(2007)
             │                       └─{gvfs-mtp-volume}(2009)
             ├─gvfs-udisks2-vo(2001)─┬─{gvfs-udisks2-vo}(2002)
             │                       └─{gvfs-udisks2-vo}(2003)
             ├─gvfsd(1792)─┬─{gvfsd}(1793)
             │             └─{gvfsd}(1794)
             ├─gvfsd-fuse(1797)─┬─{gvfsd-fuse}(1800)
             │                  ├─{gvfsd-fuse}(1801)
             │                  ├─{gvfsd-fuse}(1804)
             │                  ├─{gvfsd-fuse}(1805)
             │                  └─{gvfsd-fuse}(1811)
             ├─gvfsd-metadata(6761)─┬─{gvfsd-metadata}(6762)
             │                      └─{gvfsd-metadata}(6763)
             ├─gvfsd-recent(2717)─┬─{gvfsd-recent}(2718)
             │                    └─{gvfsd-recent}(2719)
             ├─gvfsd-trash(2094)─┬─{gvfsd-trash}(2097)
             │                   └─{gvfsd-trash}(2098)
             ├─ibus-x11(1951)─┬─{ibus-x11}(1958)
             │                └─{ibus-x11}(1959)
             ├─irqbalance(817)
             ├─ksmtuned(882)───sleep(7962)
             ├─libvirtd(1131)─┬─{libvirtd}(1184)
             │                ├─{libvirtd}(1185)
             │                ├─{libvirtd}(1186)
             │                ├─{libvirtd}(1187)
             │                ├─{libvirtd}(1188)
             │                ├─{libvirtd}(1189)
             │                ├─{libvirtd}(1190)
             │                ├─{libvirtd}(1191)
             │                ├─{libvirtd}(1192)
             │                ├─{libvirtd}(1193)
             │                ├─{libvirtd}(1204)
             │                ├─{libvirtd}(1205)
             │                ├─{libvirtd}(1206)
             │                ├─{libvirtd}(1207)
             │                ├─{libvirtd}(1208)
             │                └─{libvirtd}(2862)
             ├─lsmd(836)
             ├─lvmetad(571)
             ├─master(1275)─┬─cleanup(7944)
             │              ├─local(7946)
             │              ├─pickup(7941)
             │              ├─qmgr(1277)
             │              └─trivial-rewrite(7945)
             ├─mcelog(870)
             ├─mission-control(1986)─┬─{mission-control}(1990)
             │                       ├─{mission-control}(1994)
             │                       └─{mission-control}(1995)
             ├─packagekitd(1554)─┬─{packagekitd}(1560)
             │                   └─{packagekitd}(1561)
             ├─polkitd(801)─┬─{polkitd}(808)
             │              ├─{polkitd}(814)
             │              ├─{polkitd}(815)
             │              ├─{polkitd}(816)
             │              └─{polkitd}(820)
             ├─qemu-kvm(7074)─┬─{qemu-kvm}(7099)
             │                ├─{qemu-kvm}(7100)
             │                ├─{qemu-kvm}(7101)
             │                └─{qemu-kvm}(7970)
             ├─rngd(838)
             ├─rsyslogd(1117)─┬─{rsyslogd}(1133)
             │                └─{rsyslogd}(1134)
             ├─rtkit-daemon(809)─┬─{rtkit-daemon}(858)
             │                   └─{rtkit-daemon}(859)
             ├─smartd(798)
             ├─sshd(1118)
             ├─systemd-journal(550)
             ├─systemd-logind(800)
             ├─systemd-machine(7075)
             ├─systemd-udevd(590)
             ├─tracker-store(2038)─┬─{tracker-store}(2042)
             │                     ├─{tracker-store}(2044)
             │                     ├─{tracker-store}(2045)
             │                     ├─{tracker-store}(2054)
             │                     ├─{tracker-store}(2055)
             │                     ├─{tracker-store}(2056)
             │                     └─{tracker-store}(2057)
             ├─tuned(1119)─┬─{tuned}(1215)
             │             ├─{tuned}(1216)
             │             ├─{tuned}(1217)
             │             └─{tuned}(1218)
             ├─udisksd(1576)─┬─{udisksd}(1579)
             │               ├─{udisksd}(1581)
             │               ├─{udisksd}(1602)
             │               └─{udisksd}(1606)
             ├─upowerd(1454)─┬─{upowerd}(1455)
             │               └─{upowerd}(1456)
             ├─virt-manager(2752)─┬─{virt-manager}(2756)
             │                    ├─{virt-manager}(2757)
             │                    ├─{virt-manager}(2758)
             │                    ├─{virt-manager}(2759)
             │                    ├─{virt-manager}(7103)
             │                    └─{virt-manager}(7104)
             ├─virtlogd(2776)───{virtlogd}(2778)
             ├─wpa_supplicant(1546)
             └─xinetd(1122)

    systemd

    • system 뿐만 아니라 service까지 관리
    • daemon
    • systemd 를 관리하는 컨트롤러 : systemctl
    • systemd의 핵심 키워드 :
      • 1) target : run level
      • 2) unit : script

    runlevel

  • 비슷한 작업을 하는 unit들(script들)의 묶음 : target

  • 즉, runlevel == target

  • Runlevel-Target

    • 0-poweroff.target -> halt
    • 1-rescue.target -> Single-user mode
    • 2-multi-user.target -> Full multi-user without networking
    • 3-multi-user.target -> Full multi-user with text mode login
    • 4-multi-user.target -> custom or local
    • 5-graphical.target -> Full multi-user with graphical login
    • 6-reboot.target -> reboot
    [root@localhost]# who -r
            run-level 5  2023-04-17 11:17
    [root@localhost]# runlevel
    N 5
    
    > runlevel 3으로 변경
    [root@localhost]# init 3
    [root@localhost]# runlevel
    5 3
    
    > runlevel 1으로 변경
    [root@localhost]# init 1
    [root@localhost]# runlevel
    3 1
    
    [root@localhost]# runlevel
    [root@localhost]# systemctl isolate graphical.target
    [root@localhost]# who -r
            run-level 5  2023-04-18 11:01	last=1

default boot target 확인 가능
[root@localhost] systemctl get-default

default boot target 설정 가능
[root@localhost] systemctl set-default multi-user.target

재부팅해보자 (reboot, or init 6 입력)

#### 부트로더  : 커널 & 램디스크 로딩
- **GRUB** 
1. 커널 & 램디스크를 메모리로 로딩
2. systemd가 
3. systemd에 의해 나머지 process들이 병렬로 처리

**- 부트로더 설정파일**
 - linux16 행 -> 커널 관련 설정
   - utf-8뒤에 **rd.break** 추가 : 커널 램디스크 로딩되자마자 멈춘다.
 - initrd16 행 -> 램디스크 관련 설경
 
**- root 디렉토리 변경  **
 - mount -o rw,remount /sysroot   
 - chroot /sysroot 
 - ls --- 평소에 보던 root 디렉토리가 출력됨.
- passwd -- 비밀번호 변경
 
**- 장애처리 복구 **
 - vi /etc/fstab -> LVM관련 실습 코드 삭제 (부팅 지연된 이유:LVM 다 삭제했는데 fstab에는 남아있어서 부팅하기 전에 계속 시도하는 것)
 
**- 세팅했던 내용이 적용될 수 있도록 해당 파일 꼭 작성 필요함.**
 - touch /.autorelabel
profile
study log

0개의 댓글