nfs = unix, linux
cifs = windows
@@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
/etc/fstab 파일에 등록 -> 다음번 부팅할 때, 자동으로 마운트된다.
첫번째 컬럼 : 59.29.224.181:/공유디렉토리명
두번째 컬럼: /data1
세번째 컬럼 : nfs
네번째 컬럼 : mount옵션 -> default
다섯번째 컬럼 : 백업안하므로 -> 0
여섯번째 컬럼 : 파일시스템체크할것인가? 내것도 아니므로 체크 x ->0
문제점: 재부팅할 때 /data1에 마운트할 것이라고 시도를 하는데, nfs 서버에 응답이 없을 경우 계속 시도를 해서 결국 시스템 부팅이 안되는 문제 발생.
AutoFS를 설정하여 마운트하는 것이 일반적!
부팅할 때 마운트하는게 아니라, 필요할 때 자동으로 마운트
AutoFS
@@@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
nfs server
cifs
Physical computer
/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
CentOS 7,8버전에 해당
init process가 아닌, systemd process를 통해서 다른 process를 관리 처리하겠다고 변경
순차처리가 아닌, 병렬처리(Parallel) -> 부팅 속도 빨라짐
[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)
비슷한 작업을 하는 unit들(script들)의 묶음 : target
즉, runlevel == target
Runlevel-Target
[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