第16åã kernel-debug ãã¹ã¹ã¡ã
Tweet
Linux ã«ã¼ãã«ã®ä¸ã«ã¯ãã«ã¼ãã«å ã§ã®ãããããã¯ãã¡ã¢ãªãªã¼ã¯ãªã©ãã«ã¼ãã«èªèº«ã®ãããã°ãè¡ãããã®æ§ã ãªæ©è½ãå«ã¾ãã¦ãã¾ãããããã kernel ããã±ã¼ã¸ã«å«ã¾ãã¦ããæ®éã®ã«ã¼ãã«ã§ã¯å¤§é¨åãç¡å¹åããã¦ãããããå®éã«éç¨ãéå§ãã¦ãã©ãã«ã«ééããã¾ã§ãã«ã¼ãã«èªèº«ã®ãã°ã«æ°ãä»ããªãã±ã¼ã¹ãå¤ãããã¾ãã RHEL ã®å ´åãå¤ãã®ãããã°æ©è½ãæå¹ã«ãã kernel-debug ã¨ããããã±ã¼ã¸ãæä¾ããã¦ãã¾ãã kernel-debug ããã±ã¼ã¸ã«å«ã¾ãã¦ãããããã°ç¨ã«ã¼ãã«ãç¨ãã¦ã·ã¹ãã ã®æ§ç¯æã«è©¦é¨ãè¡ããã¨ã§ãéç¨éå§å¾ã«ééããå¯è½æ§ã®ãããã°ã®ä¸é¨ãäºåã«è¦ã¤ãã¦å¯¾å¦ãè¡ããã¨ãã§ãã¾ããã¾ããéç¨éå§å¾ã§ããåå ã®ç©¶æã«å½¹ç«ã¤ãã¨ãããã¾ãã
kernel-debug ããã±ã¼ã¸ã®ã¤ã³ã¹ãã¼ã«ã¯ã以ä¸ã«ç¤ºãããã« yum ã³ãã³ããç¨ãã¦ç°¡åã«è¡ãã¾ãã注æãã¹ãç¹ã¨ãã¦ã¯ãã½ã¼ã¹ã³ã¼ããå ¬éããã¦ããªãã«ã¼ãã«ã¢ã¸ã¥ã¼ã«ã使ç¨ãã¦ããã·ã¹ãã ã®å ´åããããã°ç¨ã«ã¼ãã«åãã«ã³ã³ãã¤ã«ãããã«ã¼ãã«ã¢ã¸ã¥ã¼ã«ãå ¥æã§ããªãããã«ãå½è©²ã«ã¼ãã«ã¢ã¸ã¥ã¼ã«ã«ã¤ãã¦ã®è©¦é¨ãè¡ããªããã¨ãæãããã¾ããã¾ããæ§ã ãªãããã°æ©è½ãæå¹ã«ãªã£ã¦ãããã¨ã«ãããæ§è½é¢ã§ã®ãªã¼ãã¼ããããå¢ãããã¨ã¨ããããã°æ©è½èªèº«ã®å¶ç´ããã°ã«ééããå¯è½æ§ããããã¨ãæãããã¾ãããã以å¤ã¯ããããã°ç¨ã«ã¼ãã«ã¯æ®éã®ã«ã¼ãã«ã¨åæ§ã«ä½¿ããã¨ãã§ãã¾ãã
# yum install kernel-debug
RHEL 5 以éã®ãããã°ç¨ã«ã¼ãã«ã§æå¹ã«ãªã£ã¦ããæ©è½ã®1ã¤ã«ã lockdepï¼ CONFIG_PROVE_LOCKING=y ï¼ãããã¾ããããã¯ã GPL äºæã§ã¯ãªãã«ã¼ãã«ã¢ã¸ã¥ã¼ã«ã使ç¨ãã¦ããå ´åãªã©ãé¤ãããããããã¯ãçºçããå¯è½æ§ã®ããããã¯ã®ç²å¾è¦æ±ãçºçããã¨ãå®éã«ãããããã¯ãçºçããåã«è¦åã¡ãã»ã¼ã¸ãåºåãããã¨ãã§ãã¾ããããã lockdep ã®è¦åã¡ãã»ã¼ã¸ãåºåãããå ´åãæªä¿®æ£ã®ãã°ã«ééãã¦ããå¯è½æ§ãããã¾ãã®ã§ãæèè ã«ç §ä¼ãããã¨ãæ¨å¥¨ãã¾ããã¾ãã /proc/sys/kernel/hung_task_timeout_secs ã«ããåºåãããè¦åã¡ãã»ã¼ã¸ã®ä¸ã«ããå½è©²ããã»ã¹ãç²å¾ãã¦ããããã¯ã®ä¸è¦§ãå«ã¾ãã¦ãã (*1)ã®ã§ãããã¯ã®ç²å¾å¾ ã¡ã«é¢ããåé¡ãçºçãã¦ããå¯è½æ§ãè¦ã¤ããéã«æå¹ã§ããåæ§ã«ã SysRq (*2) ã§ä½¿ç¨ã§ããã³ãã³ãä¸è¦§ (*3) ã®ä¸ã«ãã«ã¼ãã«å ã§ç²å¾æ¸ã¿ã®å ¨ã¦ã®ããã¯ã®æ å ±ãåæãã show-all-locks ã¨ããã³ãã³ãï¼ SysRq-d ï¼ã追å ããã¦ããã®ã§ãã·ã¹ãã ã®å¿çãç¡ãå ´åãªã©ã«ã¹ã¬ããã®åä½ç¶æ³ï¼ SysRq-t ï¼ã¨ä¸ç·ã«ããã¯ã®ç²å¾ç¶æ³ã確èªãããã¨ãã§ãã¾ãã
ãªãã lockdep ã¯å®æ¸¬ã«åºã¥ããã¹ãææ³ã§ããããã lockdep ãæå¹ãªç¶æ ã§çºçããããã¯ã®ç²å¾è¦æ±ãããã§ãã¯ã§ãã¾ããã lockdep ã§ä¸å ·åãçºè¦ããããã«ã¯ãå®åçï¼å®å¸¸çãªã¯ã¼ã¯ãã¼ããæããã ãã§ã¯ãªããæ®æ®µã¯çºçããªããããªæåï¼ä¾ï¼å¤§éã®éä¿¡ãã©ãã£ãã¯ãçºçãã¦ããæä¸ã«ãããã¯ã¼ã¯ã±ã¼ãã«ã®æãå·®ããè¡ãï¼ãç©æ¥µçã«è©¦ããã¨ã§ããªãã¹ãå¤ãã®åä½ãã¿ã¼ã³ãå®è¡ãããããã«ãããã¨ã大åã§ãã Linux ã«ã¼ãã«éçºè ã®éã§ã¯ããã¹ãç¨ã®ç°å¢ãç¨æãã trinity ã¨ãããã¡ã¸ã³ã°ãã¼ã«ãå®è¡ããã¨ããã±ã¼ã¹ãå¤ãããã§ãã
RHEL 6 以éã®ãããã°ç¨ã«ã¼ãã«ã§æå¹ã«ãªã£ã¦ããæ©è½ã®1ã¤ã«ã kmemleakï¼ CONFIG_DEBUG_KMEMLEAK=y ï¼ãããã¾ããããã¯ãã«ã¼ãã«ã®ã³ãã³ãã©ã¤ã³ãªãã·ã§ã³ã« kmemleak=on ã¨ããæå®ããããã¨ã§ãã«ã¼ãã«å ã§ã®ã¡ã¢ãªãªã¼ã¯ãæ¤åºãããã¨ãã§ãã (*4) ããã«ãªãã¾ãã使ãæ¹ã¯ã /sys/kernel/debug/ ã«debugfs ããã¦ã³ããã¦ã /sys/kernel/debug/kmemleak ã« scan ã¨ããæåãæ¸ãè¾¼ã¿ããã®å¾ /sys/kernel/debug/kmemleak ã®å 容ãèªã¿åºãã ãã§ããããã kmemleak ã®ã¡ãã»ã¼ã¸ãåºåãããå ´åãæªä¿®æ£ã®ãã°ã«ééãã¦ããå¯è½æ§ãããã¾ãã®ã§ã念ã®ããæèè ã«ç §ä¼ãããã¨ãæ¨å¥¨ãã¾ãã
# mount -t debugfs debugfs /sys/kernel/debug/ # echo scan > /sys/kernel/debug/kmemleak # cat /sys/kernel/debug/kmemleak
å®éã®ã·ã¹ãã ã§ã®è©¦é¨å 容ã¯ã·ã¹ãã ã«ããç°ãªããããããã§ã¯èª¬æã§ãã¾ãããã§ããçµé¨åããã¯ããã©ãã«ã®å¤ãã¯ãå®åçï¼å®å¸¸çãªã¯ã¼ã¯ãã¼ãã ããæãã¦ããã¤ããããæ³å®å¤ã®éè² è·ç¶æ ãçºçããã¦ãã¾ã£ã¦ã¡ã¢ãªãæ¯æ¸ãããã«ãªã£ãéã«çºçãã¦ãã¾ãããã®ãããã·ã¹ãã ã®éç¨éå§å¾ã«ééããå¯è½æ§ã®ãããã©ãã«ãäºåã«è¦ã¤ãã¦å¯¾å¦ããã¨ãã観ç¹ã§ã¯ãæ æã«éè² è·ç¶æ ãçºçããã試é¨ãè¡ããã¨ãæå¹ã¨èãã¾ããããã§ãããã§ã¯éè² è·ç¶æ ãçºçãããç°¡åãªæé ã«ã¤ãã¦èª¬æãã¾ãã
éè² è·ç¶æ ã試é¨ããã«ã¯éåãªãã·ã³ã®ã»ããé©ãã¦ãã¾ããç§ã¯ Windowsãã¹ã¯ããããã·ã³ä¸ã§ VMware Player ã使ã£ã¦ãããã 4 CPU / 2GB RAM / swapç¡ããã¨ããä»®æ³ãã¼ãã¦ã§ã¢æ§æ㧠Linux ãåãããã¨ãå¤ãã§ããã¾ããåé¡ãçºçããå ´åã«ã«ã¼ãã«ã¡ãã»ã¼ã¸ããã¹ãå´ã® serial.txt ã¨ãããã¡ã¤ã«ã«ãåºåãããããã«ããããã«ã console=ttyS0,115200n8 console=tty0 ã¨ããã«ã¼ãã«ã³ãã³ãã©ã¤ã³ãªãã·ã§ã³ã追å ãã¦ãã¾ãã
éè² è·ç¶æ ãçºçãããåºæ¬ã¯ãåãå¦çãããããåæã«å®è¡ããããã¨ã§ããç°¡åãªä¾ã§ã¯ã以ä¸ã®ããã«ãªãã§ãããã
$ for i in `seq 1 10`; do dd if=/dev/zero of=/tmp/file bs=1048576 count=100 & done
ä¸è¨ã®ä¾ã§ã¯ãã·ã¹ãã ã®å¿çãé ããªãã¨ãã¦ããå¿çãç¡ããªããã¨ã¯ç¡ããã®ã¨æãã¾ãããããã以ä¸ã®ããã«è² è·ãæããããã¨ãã¡ã¢ãªãæ¯æ¸ãã¦ã·ã¹ãã ãç¡å¿çç¶æ ã«ãªã£ã¦ãã¾ãããããã¾ããã
$ for i in `seq 1 100`; do dd if=/dev/zero of=/tmp/file bs=104857600 count=100 & done
ä¸è¿°ããæ§æã§ç§ãè¡ã£ãå®é¨ã«ããã¨ã RHEL 7 ã®ããã©ã«ãã§ãã xfs ãã¡ã¤ã«ã·ã¹ãã ã¯ã ext ç³»ãã¡ã¤ã«ã·ã¹ãã ã¨æ¯è¼ãã¦ã OOM killer ãçºåããç´åã¾ãã¯çºåããéã«ã·ã¹ãã ãç¡å¿çç¶æ ã«ãªã£ã¦ãã¾ãã±ã¼ã¹ãçºçããããã¨ããçµæãåºã¦ãã¾ãã OOM killer ãã¡ã¢ãªæ¯æ¸ç¶æ ã解æ¶ãæããã±ã¼ã¹ã¯å®¹æã«çºçãã(*5) ã®ã§ãå®éã®éç¨ã§ã¯ OOM killer ãçºåãããããªéè² è·ç¶æ ãçºçãããªãããã«ã注æãã ããã
(*1) 以ä¸ã«ç¤ºãã¾ãã
---------- INFO: task dd:3560 blocked for more than 10 seconds. "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. dd D ffff880073204f20 5096 3560 3478 0x00000080 ffff880071f0dc78 0000000000000046 00000000001d4640 ffff880071f0dfd8 ffff880071f0dfd8 00000000001d4640 ffff880074048000 ffff880073204f20 ffff8800701c9080 ffff88007192d0b8 ffff88007192d0c0 0000000000000246 Call Trace: [] schedule_preempt_disabled+0x39/0x90 [ ] mutex_lock_nested+0x1bd/0x520 [ ] ? xfs_file_buffered_aio_write+0x71/0x2a0 [xfs] [ ] ? xfs_file_buffered_aio_write+0x71/0x2a0 [xfs] [ ] xfs_file_buffered_aio_write+0x71/0x2a0 [xfs] [ ] ? sched_clock+0x9/0x10 [ ] ? sched_clock_cpu+0xb5/0x100 [ ] xfs_file_aio_write+0xdb/0x160 [xfs] [ ] do_sync_write+0x8d/0xd0 [ ] vfs_write+0xc0/0x1f0 [ ] ? fget_light+0x3a7/0x510 [ ] SyS_write+0x5b/0xb0 [ ] system_call_fastpath+0x16/0x1b 2 locks held by dd/3560: #0: (sb_writers#8){.+.+.+}, at: [ ] vfs_write+0x1bb/0x1f0 #1: (&sb->s_type->i_mutex_key#12){+.+.+.}, at: [ ] xfs_file_buffered_aio_write+0x71/0x2a0 [xfs] ----------
(*2) RHEL 7 ã®ããã©ã«ãè¨å®ã§ã¯ããã¼ãã¼ãããçºè¡ã§ãã SysRq ã³ãã³ããå¶éããã¦ãã¾ãããã¼ãã¼ãããå
¨ã¦ã® SysRq ã³ãã³ããçºè¡ã§ããããã«ããã«ã¯ã
/proc/sys/kernel/sysrq ã« 1 ãè¨å®ãã¦ããå¿
è¦ãããã¾ãããªãã RHEL 6 以éã§ããã°ã sysrq_always_enabled ã¨ããã«ã¼ãã«ã³ãã³ãã©ã¤ã³ãªãã·ã§ã³ãæå®ãããã¨ã§ããå
¨ã¦ã® SysRq ã³ãã³ããçºè¡ã§ããããã«ãªãã¾ãã
(*3) 以ä¸ã«ç¤ºãã¾ãã
---------- é常㮠RHEL 7 ã«ã¼ãã«ã§ä½¿ãã SysRq ã³ãã³ãããããã ---------- SysRq : HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems(j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r) sync(s) show-task-states(t) unmount(u) show-blocked-tasks(w) dump-ftrace-buffer(z) ---------- é常㮠RHEL 7 ã«ã¼ãã«ã§ä½¿ãã SysRq ã³ãã³ããããã¾ã§ ----------
---------- ãããã°ç¨ã® RHEL 7 ã«ã¼ãã«ã§ä½¿ãã SysRq ã³ãã³ãããããã ---------- SysRq : HELP : loglevel(0-9) reboot(b) crash(c) show-all-locks(d) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems(j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r) sync(s) show-task-states(t) unmount(u) show-blocked-tasks(w) dump-ftrace-buffer(z) ---------- ãããã°ç¨ã® RHEL 7 ã«ã¼ãã«ã§ä½¿ãã SysRq ã³ãã³ããããã¾ã§ ----------
---------- é常㮠RHEL 6 ã«ã¼ãã«ã§ä½¿ãã SysRq ã³ãã³ãããããã ---------- SysRq : HELP : loglevel(0-9) reBoot Crash terminate-all-tasks(E) memory-full-oom-kill(F) kill-all-tasks(I) thaw-filesystems(J) saK show-backtrace-all-active-cpus(L) show-memory-usage(M) nice-all-RT-tasks(N) powerOff show-registers(P) show-all-timers(Q) unRaw Sync show-task-states(T) Unmount show-blocked-tasks(W) dump-ftrace-buffer(Z) ---------- é常㮠RHEL 6 ã«ã¼ãã«ã§ä½¿ãã SysRq ã³ãã³ããããã¾ã§ ----------
---------- ãããã°ç¨ã® RHEL 6 ã«ã¼ãã«ã§ä½¿ãã SysRq ã³ãã³ãããããã ---------- SysRq : HELP : loglevel(0-9) reBoot Crash show-all-locks(D) terminate-all-tasks(E) memory-full-oom-kill(F) kill-all-tasks(I) thaw-filesystems(J) saK show-backtrace-all-active-cpus(L) show-memory-usage(M) nice-all-RT-tasks(N) powerOff show-registers(P) show-all-timers(Q) unRaw Sync show-task-states(T) Unmount show-blocked-tasks(W) dump-ftrace-buffer(Z) ---------- ãããã°ç¨ã® RHEL 6 ã«ã¼ãã«ã§ä½¿ãã SysRq ã³ãã³ããããã¾ã§ ----------
---------- é常㮠RHEL 5 ã«ã¼ãã«ã§ä½¿ãã SysRq ã³ãã³ãããããã ---------- SysRq : HELP : loglevel0-8 reBoot Crashdump tErm Full kIll thaw-filesystems(J) saK showMem Nice powerOff showPc unRaw Sync showTasks Unmount shoWcpus ---------- é常㮠RHEL 5 ã«ã¼ãã«ã§ä½¿ãã SysRq ã³ãã³ããããã¾ã§ ----------
---------- ãããã°ç¨ã® RHEL 5 ã«ã¼ãã«ã§ä½¿ãã SysRq ã³ãã³ãããããã ---------- SysRq : HELP : loglevel0-8 reBoot Crashdump show-all-locks(D) tErm Full kIll thaw-filesystems(J) saK showMem Nice powerOff showPc unRaw Sync showTasks Unmount shoWcpus ---------- ãããã°ç¨ã® RHEL 5 ã«ã¼ãã«ã§ä½¿ãã SysRq ã³ãã³ããããã¾ã§ ----------
(*4) kmemleak ã¯ãã¡ã¢ãªãªã¼ã¯ã§ã¯ãªããã®ã誤æ¤åºãããã¨ãããã¾ããã¾ããkmemleak ã®ããã®ã¡ã¢ãªã確ä¿ã§ããªãã£ãå ´åã¯ä»¥ä¸ã®ãããªã¡ãã»ã¼ã¸ãåºåãã¦èªåçã«ç¡å¹åããã¾ãã
---------- kmemleak: Cannot allocate a kmemleak_object structure kmemleak: Kernel memory leak detector disabled kmemleak: Automatic memory scanning thread ended ----------
(*5) ããã¯ãããã©ã¼ã«ãã¤ã³ã¸ã§ã¯ã·ã§ã³ãã¹ã¹ã¡ã ã®ã使ãæ¹2ï¼ã¡ã¢ãªã¼å²ãå½ã¦è¦æ±ã失æãããããã§èª¬æããæåã®å½±é¿ããxfs ã®ã»ããããåããããããã§ããã¨èãã¦ãã¾ãã
ï¼åç°å²å¤«ï¼
ã³ã¼ãã¼ãã¬ã¼ã¯ãç§çãµãã¼ãè«ã
åã åã®è¨äºãããµãã¼ãã«ãããç°å¢åé¡ãã§ã¯ããµãã¼ãã»ã³ã¿ã¼ã§äºè±¡ãåç¾ã§ãããã©ãããåé¡è§£æ±ºã®æå¦ãå·¦å³ãããã¨ãå®éã®åãåãããè¦ã¦ããã¨ãä¾é ¼å ã§çºçããäºè±¡ããµãã¼ãã»ã³ã¿ã¼ã§åç¾ã§ããªãã±ã¼ã¹ãå¤ããã¨ãåç¾ããªãå ´åã®å ·ä½çäºä¾ãªã©ã«ã¤ãã¦èª¬æãã¾ãããå¼ãç¶ããç°å¢ãã«ã¤ãã¦ãããå°ãèãã¦ã¿ããã¨æãã¾ãã
注ï¼ã¿ã¤ãã«ã«ããããã«æ¬è¨äºã®å 容ã¯ããã¾ã§ç§å人ã®è¦è§£ã§ããã©ãããã®ç¹ãç解ã®ä¸ããèªã¿ãã ããã
ãµãã¼ãã¯ãä¾é ¼ã«å¯¾ãã¦æè¡è ãæ å ±ãæä¾ãããµã¼ãã¹ã§ããµãã¼ãæè¡è ã®å 容ããµãã¼ãã®å 容ã«ç´çµãã¾ããããå¤ããåºãç¯å²ã«å¯¾å¿ã§ããæè¡è ãéããã°ãããã ã対å¿ã§ããç¯å²ãåºããé åçãªãµã¼ãã¹ãæä¾ãããã¨ãã§ãã¾ãããå½ç¶ãªããå価ãå¢å¤§ãã¾ããäºæ¥ã¨ãã¦æç«ãããããã«ã¯ãå¤ãã®ã¦ã¼ã¶ã¼ãæ±ãããæå¤§å ¬ç´æ°ãçãªç¯å²ãã¿ã¼ã²ããã¨ãã¦ãæ³å®ããåãåãããããªããã ãã®ä½å¶ãçµãã¨ããèãæ¹ãä¸è¬çã§ãããã
ãæå¤§å ¬ç´æ°ãçãªç¯å²ã®è¨å®ã«ã¤ãã¦ããã使ããã製åï¼ãã¨ãã°Apache, PostgreSQLçï¼ãã¨ã«ãã®å 容ã«éããæè¡è ãéãããã¨ãä¸è¬çã§ãããã®å¿ç¨å½¢ã¨ãã¦ãé¨åãçµã¿åããããã®ããã¢ãã«ãã¨ãã¦å®ç¾©ããã¢ãã«ãã¨ã«æé ãæ¨å¥¨ããè¨å®ãä½æããæ³å®ãããç°å¢ãã®ãã¨åä½ãæ¤è¨¼ããã¨ãããã®ãè¦ããã¾ããã¢ãã«ã¯ããæ£èå±ãããååã§è²©å£²ãã¦ãããã®ãçµã¿åããã¦ãå¼å½ã¨ãã¦è²©å£²ãã¦ãããããªã¤ã¡ã¼ã¸ã§ãããæ£èã«ã¯ç¨®é¡ããããã¾ããããã½ããã¦ã§ã¢ã«ã¯ãã¼ã¸ã§ã³ãããã¾ãããµãã¼ãã»ã³ã¿ã¼ã«ããã¨ã使ããªãã»ããã»ã»ã»ãã¨ãããã¼ã¸ã§ã³ããããã¨ããå®æã¨ãã¦ãããããã¾ãããã¢ãã«ã§ã¯åå³ããããã®ãçµã¿åãããã¦ãã¾ãï¼ã¢ãã«ãã®ãã®ã使ããªãã£ãã¨ãã¦ããã¢ãã«ã§æ¡ç¨ããã¦ãã製åã®ãã¼ã¸ã§ã³ãæ¡ç¨ããã ãã§ãå°æ¥ã®ãªã¹ã¯ãæ¸ãããã¨ãã§ãã¾ãï¼ã
ã¨ãããã¨ã§ãè¯ããã¨ã¥ããã®ã¢ãã«ã§ãããã¢ãã«ã¯ããã¾ã§ã¢ãã«ã§ãããå®éã®ã·ã¹ãã æ§ç¯ã§ã¯ãã¾ãã¾ã«ã¢ã¬ã³ã¸ï¼ã«ã¹ã¿ãã¤ãºï¼ãã¦ä½¿ããã¨ã«ãªãã¾ããã¢ã¬ã³ã¸ã®å 容ã使ãæ¹ã®ç¸éã«ãããã¢ãã«ã¨ãã¦ã®å©ç¹ã¯èããªããé¨åãã¨ã®ã¬ãã«ã«è½ã¡ã¦ãã¾ãã¾ãã
ããã§ä»¥ä¸ã®è³ªåã«ã¤ãã¦èãã¦ã¿ã¦ãã ããã
Q1: åä¸ã®ãç°å¢ããå®ç¾ãããã¨ã¯å¯è½ãï¼ã§ããã¨ãã¦ããããç¶æãããã¨ã¯å¯è½ãï¼
Q2: äºã¤ã®ãç°å¢ããåä¸ãã©ããã©ã®ããã«ããã°å¤æã§ãããï¼
ãããããç°å¢ããæ確ã«å®ç¾©ãã¦ããªãã®ã§ãçãããããªãã¨ãããããåããããããã¾ããããããã§ã¯ããã¼ãã¦ã§ã¢ãOSãã©ã¤ãã©ãªãã¢ããªã±ã¼ã·ã§ã³ãè¨å®çãã¨ãèããã ããã
Q1ã«ã¤ãã¦ãä»®æ³åæè¡ã使ããã¦ããæ¹ã¯ãVMware/kvmãªãã§ãããã¨æãããã®ã§ã¯ãªãã§ããããï¼ããã¯ããã ã¨æãã¾ããããããVMã®ãã¡ã¤ã«ãè¤è£½ãã¦é
å¸ããã¨ãã¦ãããã使ãå§ãããããã¯ãåä¸ã¨ã¯è¨ããªããªãã¾ãã
Q2ã¯ãã¾ããåä¸ã¨ã¯ä½ããã®å®ç¾©ããå§ããªããã°ããã¾ããããå®éã«ã§ãããã¨ã¯ãããã¾ã§ã®æè¡ã§ã¯ããããããã¼ã¸ã§ã³ãå«ãå°å
¥æ¸ã¿ããã±ã¼ã¸ä¸è¦§ãè¨å®ãã¡ã¤ã«ã®æ¯è¼ããããã¨æãã¾ãã
ã¤ã¾ãã¨ãããããªãã®ç°å¢ããããã¯åé¡ãçºçããç°å¢ã¯ãããã«ãããªãããµãã¼ãã»ã³ã¿ã¼ãä»ã®å ´æã§å®å ¨ã«åãç°å¢ãç¨æãããã¨ã¯ã§ãã¾ãããæ°ããªèå¼±æ§ãçºè¦ãããå ´åãããã®èå¼±æ§ã®å½±é¿ãããã§ããããï¼ãã¨èããããã¨ãããã¾ããããã§å½±é¿ã¨ã¯ãç§ã管çããã·ã¹ãã ãã¸ã®å½±é¿ãæãã¦ãã¾ãã質åããããªãæ°æã¡ã¯ãããããã®ã§ããããµãã¼ãã»ã³ã¿ã¼ã§ã¯ãããªãã管çããã·ã¹ãã ï¼ã¨ããç°å¢ï¼ãã«ã¤ãã¦ãæä¾ãããæ å ±ã®ç¯å²ãããããã¾ãããé常ããæå¤§å ¬ç´æ°ãã®ç¯å²ã§æ å ±æä¾ãè¡ãã¾ãããæ¬å½ã®çãã¯ããçãã§ãã¾ãããã¨ãªãã¾ãã
ï¼åç°å£æ ï¼
Tweet