Ubuntu Server Guide Changes, errors and bugs
Download 1.27 Mb. Pdf ko'rish
|
ubuntu-server-guide
- Bu sahifa navigatsiya:
- Monitoring container status
- Container init verbosity
Troubleshooting
Logging If something goes wrong when starting a container, the first step should be to get full logging from LXC: sudo l x c −s t a r t −n C1 − l t r a c e −o debug . out This will cause lxc to log at the most verbose level, trace, and to output log information to a file called ‘debug.out’. If the file debug.out already exists, the new log information will be appended. Monitoring container status Two commands are available to monitor container state changes. lxc−monitor monitors one or more con- tainers for any state changes. It takes a container name as usual with the -n option, but in this case the container name can be a posix regular expression to allow monitoring desirable sets of containers. lxc− monitor continues running as it prints container changes. lxc−wait waits for a specific state change and then exits. For instance, sudo l x c −monitor −n c o n t [0 −5]* would print all state changes to any containers matching the listed regular expression, whereas sudo l x c −w a i t −n c o n t 1 −s ’STOPPED|FROZEN’ will wait until container cont1 enters state STOPPED or state FROZEN and then exit. 127 Attach As of Ubuntu 14.04, it is possible to attach to a container’s namespaces. The simplest case is to simply do sudo l x c −a t t a c h −n C1 which will start a shell attached to C1’s namespaces, or, effectively inside the container. The attach func- tionality is very flexible, allowing attaching to a subset of the container’s namespaces and security context. See the manual page for more information. Container init verbosity If LXC completes the container startup, but the container init fails to complete (for instance, no login prompt is shown), it can be useful to request additional verbosity from the init process. For an upstart container, this might be: sudo l x c −s t a r t −n C1 / s b i n / i n i t l o g l e v e l=debug You can also start an entirely different program in place of init, for instance sudo l x c −s t a r t −n C1 / b i n / bash sudo l x c −s t a r t −n C1 / b i n / s l e e p 100 sudo l x c −s t a r t −n C1 / b i n / c a t / p r o c /1/ s t a t u s LXC API Most of the LXC functionality can now be accessed through an API exported by liblxc for which bindings are available in several languages, including Python, lua, ruby, and go. Below is an example using the python bindings (which are available in the python3-lxc package) which creates and starts a container, then waits until it has been shut down: # sudo python3 Python 3 . 2 . 3 ( d e f a u l t , Aug 28 2 0 1 2 , 0 8 : 2 6 : 0 3 ) [GCC 4 . 7 . 1 20120814 ( p r e r e l e a s e ) ] on l i n u x 2 Type ” h e l p ” , ” c o p y r i g h t ” , ” c r e d i t s ” o r ” l i c e n s e ” f o r more i n f o r m a t i o n . >>> import l x c __main__ : 1 : Warning : The python−l x c API i s n ’ t y e t s t a b l e and may change a t any p o i n t i n t h e f u t u r e . >>> c=l x c . C o n t a i n e r ( ” C1 ” ) >>> c . c r e a t e ( ” ubuntu ” ) True >>> c . s t a r t ( ) True >>> c . w a i t ( ”STOPPED” ) True Download 1.27 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling