앞 선 포스팅(Fedora 14 Dom0 Kernel (Xen 4.0.1-6) 설치 - Virtual Machine 사용을 위한 준비)의 후속으로 동일 환경에서 Opensuse 11.3 vm(pv)를 설치해 보자.

Network install은 ftp, http, nfs 등의 몇 가지 방법이 있다. 몇 개월 전의 포스팅에서 Local web server를 이용한 network install을 다루어 본 적이 있었던 것 같다. 이번에는 CDRom이나 DVD  또는 ISO 이미지가 없을 경우에 인터넷만 연결되어 있다면 어디서나 간편하게(사실 시간은 좀 걸릴 것이다. remote 공개된 repository server를 통해 부팅 및 설치를 해야 하므로...) 설치해 보는 방법을 테스트 해 본다.

* 주의 : 
virt-manager는 libvirt의 기능을 통해 domU를 생성하게 되는데, 이때 vm image file은 /var/lib/libvirt/images 에 생성된다. 따라서 root volume의 공간이 충분하지 않을 경우 vm image 파일의 크기에 제약이 따른다. 이 때는
# service libvirtd stop
# vi /etc/libvirt/storage/default.xml
...
  <path>/home/vmimages</path> => vm image를 생성할 디렉토리 지정
...
# service libvirtd start
의 과정을 거친 후 아래 단계를 진행한다

# virt-manager &
또는 Applications > System Tools > Virtual Machine Manager 실행

Step 1 of 5

Toolbar의 Create a new virtual machine 선택
-> New virtual machine name 입력, Connection은 localhost(Xen)
Choose how ...
-> Network Install(HTTP, FTP or NFS) 선택

'Forward' click
Step 2 of 5

Provide ... operating system install URL
-> URL Options 는 바꾸지 말고 비워 놓는다
Automatically detect operating system ... 을 Check한다.
-> 자동으로 Repository를 읽어 OS type: Linux, Version: Unknown 을 detect할 것이다

'Forward' click
- ftp 가 아닌 http 로 URL을 등록해야 함에 주의
- 북미에서 가까운 경우 URL을 http://download.opensuse.org/distribution/11.3/repo/oss/ 로 등록하면 더 빠를 것 같다.
Step 3 of 5

Memory(Ram), CPU 갯수를 입력, 선택

'Forward' click
Step 4 of 5

Enable storage for this virtual machine을 Check
-> Create a disk image on the computer's hardware 선택, 가상 disk size 입력
-> Allocate entire disk now 를 unCheck
(Check하면 서버의 파티션(정확히는 위에서 설정한 vmimage 생성 영역)의 남아 있는 전체 공간 크기 만큼 할당하게 되므로 주의 !!)

'Forward' click
Step 5 of 5

Ready to begin installation of xxxxxx...
...
Customize configuration before install을 Check

Advanced option 선택
-> Virtual network 'default' NAT 또는 specify shared device name 선택(이 경우  Bridge name 을 입력: br0 또는 xenbr0 등...)

Virt Type: paravirt 또는 fullvirt 중 선택
Architecture: x86_64(intel), i686(AMD) 선택

'Finish' click

Begin installation 버튼이 맨 위에 배치된 Virtual Machine spec customize 창이 뜬다

- 각 설정을 리뷰하면서 확인
- Audio는 일반적으로 사용하지 않을 것이므로, 아래쪽의 Remove 버튼으로 삭제
(기본적으로 Audio 항목이 뜨지 않게 하려면 Virtual Machine Manager에서 Edit>Preference 에서 설정할 수 있다)
- 여기서 부터는 창을 닫더라도 설치 과정이 진행되어 버리므로(버그 인듯하다) 잘 못 설정된 항목이 있을 경우 중간에 처음부터 다시 시작해야 한다

맨 위의 'Begin installation' Click
Creating Virtual Machine 윈도우가 뜨면서

The virtual machine is now being created. Allocation .... 메시지와 함께
Progress bar가 오락 가락하는 모습이 나타난다
>>> Linuxrc v3.4.14 (Kernel 2.6.34-12-xen) <<<

Make sure that number 1 is in your drive
-> Back 선택, Enter
Select the language
-> English 선택, Enter
Choose a keyboard map
-> English (US) 선택, Enter
Main Menu
-> Start Installation 선택, Enter
Start Installation
-> Start Installation or Update 선택, Enter
Choose the source medium
-> Network 선택, Enter
Choose the network protocol
-> HTTP 선택, Enter
Automatic configuration via DHCP?
-> Yes 선택, Enter (또는 No 선택, network 정보 입력: 192.168.100.55/24 형식)
Enter the IP address of the HTTP server
-> ftp.novell.co.jp
Enter the directory on the server
-> /pub/opensuse/distribution/11.3/repo/oss/
Do you need a username ...
-> No 선택, Enter
Use a HTTP proxy?
-> No 선택, Enter

여기서부터 Loading installation System (1/6)...(6/6)까지 자동 진행

No new Driver Updates found -> Enter

Text booting 화면으로 전환되고 Found a linux console terminal... 메시지를 끝으로
 시간이 조금(또는 많이) 흐른 후, Graphical open suse 설치화면이 나타난다.

여기서 부터는 대화형으로 설치를 진행할 수 있으므로 이후는 생략
(Firewall 설정에서 ssh 접속을 허용해 놓으면 ssh로 접속하여 사용할 수 있다
"ssh포트를 열고 ssh서비스 활성화" 선택)
설치 완료 후

# virt-viewer domain-name
# virt-viewer id
등으로 vm에 접속하여 사용 가능하다(또는 virt-manager 에서 vm선택 후 Open을 해도 되겠다)

# xm info
# xm list
등의 기본적인 xen command line을 통해 사용할 수도 있으니 이후는 취향에 맞게 알아서 사용하면 된다.

- Barracuda -


저작자 표시 비영리 변경 금지
신고
블로그 이미지

Barracuda

Bryan의 MemoLog. 쉽게 익혀 보는 IT 실습과 개념원리, 코딩 세계의 얕은 맛보기들, 평범한 삶 주변의 현상 그리고 進上, 眞想, 진상들


1. Disk 공간을 제공할 서버측 설정

Fedora 14 x86_64(Xen Dom0)
12GB LVM logical volume = /dev/mapper/vg_myLogVol03
* iSCSI를 통해 LVM logical volume, disk partition 또는 디스크 전체 또는 dd로 생성한 sparse 파일(dd if=/dev/zero of=/tmp/aaa bs=...) 까지도 마운트 해 줄 수 있다

설치 및 준비작업을 아래와 같이 진행한다

# yum install scsi-target-utils.x86_64
# yum install iscsi-initiator-utils.x86_64
# service iptables stop
# system-config-firewall => port 3260 을 개방
# service iptables start

데몬 시작 설정
# chkconfig tgtd on => iSCSI target daemon 자동 시작 설정
# /etc/init.d/tgtd start ==> 또는 service tgtd start

Target device 생성 및 확인
# tgtadm --lld iscsi --mode target --op new --tid=1 --targetname iqn.2010-11.com.example:for.all
# tgtadm --lld iscsi --mode target --op show

LUN(Logical unit) 추가 및 확인
# tgtadm --lld iscsi --mode logicalunit --op new --tid=1 --lun 1 -b /dev/mapper/vg_myLogVol03

접속해 들어오는 Source IP에 대해 접속을 제한할 수 있다
모든 source로부터의 접속을 허용하려면
# tgtadm --lld iscsi --mode target --op bind --tid 1 -I ALL
재설정 후 특정 IP 또는 IP대역만을 허용하려면
# tgtadm --lld iscsi --mode target --op unbind --tid 1 -I ALL
# tgtadm --lld iscsi --mode target --op bind --tid 1 -I 1.2.3.4
# tgtadm --lld iscsi --mode target --op bind --tid 1 -I 1.2.3.0/24

2. Remote에서 접속할 클라이언트 설정

Windows 7 x64, iSCSI 초기자를 통해 remote mount 준비

제어판 > 시스템 및 보안 > 관리 도구 > iSCSI 초기자 실행


검색 탭에서 Local network에서 iSCSI 서버를 자동으로 검색할 수 있다
대상이 검색 되었다면 연결 클릭

볼륨 및 장치 탭으로 가서 간단하게 자동구성을 한다
이제 확인을 눌러서 초기자를 종료한다

제어판 > 시스템 및 보안 > 관리 도구 > 컴퓨터관리 실행, 저장소->디스크 관리창에
새로운 볼륨이 나타난다.



이제 일반 하드 디스크나 파티션과 동일하게 포맷하고 사용할 수 있다.



- Barracuda -




저작자 표시 비영리 변경 금지
신고
블로그 이미지

Barracuda

Bryan의 MemoLog. 쉽게 익혀 보는 IT 실습과 개념원리, 코딩 세계의 얕은 맛보기들, 평범한 삶 주변의 현상 그리고 進上, 眞想, 진상들


Fedora에는 Xen kernel이 포함되어 있지 않다(FC13 기준). 따라서 Xen 관련 패키지들과 함께 Kernel을 Xenify 하고 여러가지 설정을 손봐주어야 한다(이 점은 OpenSUSE 11.3과 판이하게 다른 점이라 하겠다).


이번 포스팅은 http://wiki.xensource.com/xenwiki/Fedora13Xen4Tutorial 의 내용을 토대로 했지만 실제 그대로 따라 해 보면 안되는 경우가 더 많다. 몇 가지 빠진 사항도 있고 설치 환경이 달라서 벌어지는 문제일 듯하다.
사실, 이런 종류의 일들은 해 보면 별 것 아닌 것 같지만 과정 자체가 추리와 유추가 난무하는 수사극과 비슷하다는 생각을 하게 된다.
더구나, 이번 설치는 Lenovo thinkpad T60(Intel 945GM VGA) 노트북에 Xen4 환경을 설치하는 것이어서, 서로 다른 컴퓨팅 환경에서의 Xen 설정시에 참고해 볼만한 내용이 될 듯 하다.

Anyway, 아래에 T60 Fedora 14 + Xen 4.0.1을 위한 설치 과정 및 방법을 정리해 두기로 한다.

1. Fedora 설치

최대한 단순하게 기본 패키지만 설치하기 위해 Fedora Core 14 x86_64 live cd로 부팅한 다음 Install to Hdd 아이콘을 클릭하여 기본 설치를 수행한다.
/boot 파티션은 ext3 포맷으로 하고, 크기는 최소 2048 MB 가 권장된다.
설치시 ntp로 시간동기화를 설정했다면 아래 ntp 설정 과정은 Skip. 다시 말하지만 기본 패키지 외에는 설치하지 않아야만 나중에 귀찮은 일을 겪지 않게 된다. 필요 없어진 패키지들을 의존성 확인하면서 erase/delete/remove 해 본 사람은 왜 이런 얘기를 하는지 아실 것이다.

2. 준비 작업

네트워크를 시작시키고 자동 Start되게 설정한다
# chkconfig network on
# /etc/init.d/network start
# yum install screen vim wget tcpdump ntp ntpdate man smartmontools ethtool

설치시 ntp를 지정하지 않았다면
# chkconfig ntpd on
# chkconfig ntpdate on
# /etc/init.d/ntpdate start
# /etc/init.d/ntpd start

/boot/grub/grub.conf (또는 menu.lst) 를 편집
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/vg_f13-lvroot
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=10          <= 0을 8 또는 10으로...
splashimage=(hd0,0)/grub/splash.xpm.gz
#hiddenmenu         <= #를 삽입해서 comment화
title Fedora (2.6.33.3-85.fc13.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.33.3-85.fc13.x86_64 ro root=/dev/mapper/vg_f13-lvroot rd_LVM_LV=vg_f13/lvroot rd_LVM_LV=vg_f13/lvswap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=fi rhgb quiet
        initrd /initramfs-2.6.33.3-85.fc13.x86_64.img

/etc/selinux/config 를 편집
보안 정책의 제한 때문에 설정에 문제가 생기지 않도록 selinux 기능을 꺼 둔다
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled           <= enforcing을 disabled로...
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
/etc/hosts 를 편집
Hostname에 항목이 없을 경우 귀찮은 메시지들이 뜨게 되므로 미리 조치
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1   myhostname myhostname.localdomain
# yum install xorg-x11-xauth
# yum update
대략 110개 가량(120M 이상)의 패키지 다운로드와 설치가 진행될 것이다.


3. Xen build를 위한 패키지 설치 및 환경 설정

개발 환경의 기본 패키지 일괄 설치
# yum groupinstall "Development Libraries"
# yum groupinstall "Development Tools"

추가 패키지들 설치
# yum install transfig wget texi2html libaio-devel dev86 glibc-devel e2fsprogs-devel gitk mkinitrd iasl xz-devel bzip2-devel pciutils-libs pciutils-devel SDL-devel libX11-devel gtk2-devel bridge-utils PyXML qemu-common qemu-img mercurial glibc-devel.i686 libidn-devel

4. src.rpm 에서 Xen 4.0.1 binary rpm build 및 설치
# wget http://pasik.reaktio.net/fedora/xen-4.0.1-6.fc14.src.rpm
# rpm -i xen-4.0.1-6.fc14.src.rpm
Warning message가 몇 개 나오겠지만 무시하고 다음 단계로...

Binary RPM을 생성하기 위해 rpmbuild를 수행
# cd /root/rpmbuild/SPECS
# rpmbuild -bb xen.spec
결과로 아래의 결과가 나타난다
Wrote: /root/rpmbuild/RPMS/x86_64/xen-4.0.1-6.fc14.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/xen-libs-4.0.1-6.fc14.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/xen-runtime-4.0.1-6.fc14.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/xen-hypervisor-4.0.1-6.fc14.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/xen-doc-4.0.1-6.fc14.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/xen-devel-4.0.1-6.fc14.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/xen-licenses-4.0.1-6.fc14.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/xen-debuginfo-4.0.1-6.fc14.x86_64.rpm

생성된 rpm binary 들을 설치한다
# cd /root/rpmbuild/RPMS/x86_64/
# rpm -Uvh *4.0.1-6*.rpm

5. Xen kernel source 다운로드/빌드/설치 - Linux 2.6.32.x pvops Xen dom0 kernel

레퍼런스에 URL들이 몇 개 있지만 Fedora 12 버전 정도에 맞춰 져 있는 내용들이라 별반 도움이 되지 않는다. 여기서는 Source를 다운로드하고 직접 빌드해서 설치하는 과정을 진행한다.
# git clone git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git linux-2.6-xen
# cd linux-2.6-xen
# git checkout -b xen/stable-2.6.32.x origin/xen/stable-2.6.32.x

Sample config 파일을 다운로드 하게 되는데, Debug 모드가 다수 설정되어 있으므로 make menuconfig를 통해 Debug 옵션들을 Disable하고, 각 옵션사항들을 잘 따라가면서 Xen virtualization 관련한 device, kernel등의 설정을 Enable해 주어야 한다. 본인이 사용한 sample config를 링크해 두도록 하겠다(환경이 다르므로 별로 도움은 되지 않겠지만...)

# wget -O .config http://pasik.reaktio.net/xen/pv_ops-dom0-debug/config-2.6.32.25-pvops-dom0-xen-stable-x86_64
# make menuconfig

* 주의: 802.1d Bridging support 항목 같은 경우는 반드시 <M> 으로 선택해야만 Bridging 기능이 modularize 된다. <*>와 같은 방식으로 선택해서 Build한다면 Kernel의 기능 일부로 embed 되어서 나중에 Bridging 기능을 대체하는 open vswitch 같은 서비스를 설치하지 못하는 경우도 만날 수 있게 되므로 주의한다.

변경된 설정을 저장하고 Exit 한 후에 아래와 같이 Kernel Build를 수행한다. 숫자 2는 CPU core 갯수를 의미한다.
# make clean
# make -j2 bzImage && make -j2 modules
성능에 따라 수 십분 내지 수 시간이 걸리는 작업이다. 몇 가지 Warning이 나오지만 Error가 아니므로 그닥 치명적이지는 아니리라 기대하면서 결과를 기다린다.

이제 커널모듈을 설치하고 Xen Kernel로 부팅을 준비한다.
# make modules_install
# depmod -a 2.6.32.25
# cp -a arch/x86/boot/bzImage /boot/vmlinuz-2.6.32.25-xen-Bryans
# cp -a System.map /boot/System.map-2.6.32.25-xen-Bryans
# cp -a .config /boot/config-2.6.32.25-xen-Bryans
# cd /boot
# dracut initramfs-2.6.32.25-xen-Bryans.img 2.6.32.25
(4개의 파일명은 각자 알아서 결정하되 grub.conf 편집시 정확히 입력!)
dracut은 Ramdisk filesystem을 생성해 주는 새로 개발된 유틸리티이다. 그전에는 OS에 따라 mkinitrd 같은 것들을 썼는데 이제 조금은 편해진 느낌이랄까...
몇 개의 Warning성 메시지들이 뜰 텐데 무시하고 넘어간다.

여기 까지 성공적으로 왔다면 이제 2/3 정도는 온 것이다. 아까 수정했던 /boot/grub/grub.conf 파일을 열어서 마지막에 5라인을 정확히 편집해서 저장하고 reboot를 진행한다.

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/vg_bryansfedora1-LogVol00
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0                   <= 2로 하면 3번째인 Xen kernel로 자동 부트
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
#hiddenmenu
title Fedora (2.6.35.6-48.fc14.x86_64)
	root (hd0,0)
	kernel /vmlinuz-2.6.35.6-48.fc14.x86_64 ro root=/dev/mapper/vg_bryansfedora1-LogVol00 rd_LVM_LV=vg_bryansfedora1/LogVol00 rd_LVM_LV=vg_bryansfedora1/LogVol02 rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=ko rhgb quiet
	initrd /initramfs-2.6.35.6-48.fc14.x86_64.img
title Fedora (2.6.35.6-45.fc14.x86_64)
	root (hd0,0)
	kernel /vmlinuz-2.6.35.6-45.fc14.x86_64 ro root=/dev/mapper/vg_bryansfedora1-LogVol00 rd_LVM_LV=vg_bryansfedora1/LogVol00 rd_LVM_LV=vg_bryansfedora1/LogVol02 rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=ko rhgb quiet
	initrd /initramfs-2.6.35.6-45.fc14.x86_64.img

* 여기부터 =>
title Fedora Xen 4.0.1 (Kernel 2.6.32.25) pvops dom0
	root (hd0,0)
	kernel /xen.gz dom0_mem=768M loglvl=all guest_loglvl=all
	module /vmlinuz-2.6.32.25-xen-Bryans ro root=/dev/mapper/vg_bryansfedora1-LogVol00 vga=ask
	module /initramfs-2.6.32.25-xen-Bryans.img
잘 보면 첫 번째 타이틀부터 5라인을 복사해서 맨 뒤에 붙이고 편집하면 간단할 것이라는 생각이 들 것이다. kernel 라인에서 dom0_mem은 Host OS를 위해서 확보되어야 할 최소 메모리 이므로 시스템 여유에 따라 적절히 설정한다. module /vmlinuz 라인에서는 root 장치의 Path만 지정하고 나머지 볼륨들은 불필요. 라인 마지막에 vga=ask 와 같이 하지 않고 레퍼런스에 있는 nomodeset으로 지정할 경우, X window가 프레임 버퍼 device를 잡지 못하고 부팅시에 오류가 발생하는 상황을 관찰할 수도 있다.

정상적인 과정을 잘 밟았다면 다음과 같이 4개의 주요 Daemon 들이 enable 된 것을 확인할 수 있다.
# chkconfig --list | grep xen
xenconsoled     0:off   1:off   2:off   3:on    4:on    5:on    6:off
xend            0:off   1:off   2:off   3:on    4:on    5:on    6:off
xendomains      0:off   1:off   2:off   3:on    4:on    5:on    6:off
xenstored       0:off   1:off   2:off   3:on    4:on    5:on    6:off
이제 Xen kernel로 부팅을 시도한다.
# reboot

6. Xen 가상화 환경 마무리 작업

시스템 리스타트 후에 xm info 를 수행해 보면 Xen host의 설정 상태를 볼 수 있다. 
이제 가상화 환경에서 편리한 Utility를 설치하고 환경을 점검한다.
# yum install virt-manager libvirt virt-viewer qemu-system-x86.x86_64

설치된 Libvirt Daemon을 확인하고 기동한다.
# chkconfig --list libvirtd
libvirtd        0:off   1:off   2:off   3:on    4:on    5:on    6:off
# /etc/init.d/libvirtd start

Bridging 설정, DNS masquerading 동작 상태, iptable과 ipforwarding 설정 상태를 다음과 같이 확인한다.
# brctl show
# ps aux | grep -i dnsmasq
# ifconfig
# iptables -t nat -L -n -v

eth0를 bridge로 해서 VM들의 network을 브리징하려면 다음과 같이 설정을 변경하고 reboot 하면 된다.
# vi /etc/xen/xend-config.sxp
# ...
#(network-script network-bridge)
* Comment를 풀고 아래와 같이 수정
(network-script 'network-bridge bridge=br0')
# reboot
부팅 후 네트워크 장치 상태를 확인하면
# ifconfig
br0    Link encap:Ethernet  HWaddr 12:34:56:0E:3F:9E
          inet addr:192.168.0.19  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:891 (891.0 b)
이전에 eth0에 할당되었던 Host의 ip가 br0에 할당되어 있음을 확인할 수 있다.

* 이제 모든 설치와 설정 과정은 끝이 났고, VM image를 다운로드 받거나 ISO 파일 또는 DVD 등을 통해서 VM을 create해 볼 수 있을 것이다.

* 참고로, wiki.xen.org 의 Xen networking(bridged case) 개념을 설명한 이미지를 첨부하니, 잘 이해해 두도록 하자.




- Barracuda -




저작자 표시 비영리 변경 금지
신고
블로그 이미지

Barracuda

Bryan의 MemoLog. 쉽게 익혀 보는 IT 실습과 개념원리, 코딩 세계의 얕은 맛보기들, 평범한 삶 주변의 현상 그리고 進上, 眞想, 진상들