Publicacion de problemas informaticos y su resolución en mi vida diaria -trabajo y casa- para mi documentación personal y para quien le sirva. Temas corrientes aqui son: Linux, macOS, Deployement, bash, configuraciones, DHCP, optimización, Samba, Programas, DOSBOX, Comandos de consola, Scripts, Virtualización, DNS,
viernes, 26 de octubre de 2018
Glusterfs y Virsh 2
1- Ambiente Físico: Una unidad de disco física será adicionada al sistema de archivos
2- Cluster, se creará un cluster con Glusterfs que debe replicarse entre dos servidores
3- Virtualizacion, se creará un pool almacenado en el cluster, que permitirá encender las maquinas virtuales en cualquiera de los dos servidores (migración)
1- Ambiente Físico:
la primera unidad de disco fisico : /dev/sda
la primera partición en el primer disco: /dev/sda1
Al agregar un segundo disco a este se le asigna (autom.) /dev/sdb
al crear la primera partición se le asigna: /dev/sdb1
CREAR PARTICION
fdisk /deb/sdb/
mkfs.btrfs -i size=512 /deb/sdb1
MONTAR PARTICION
mkdir -p /export/sdb1
echo "/dev/sdb1 /export/sdb1 btrfs defaults 0 0" >> /etc/fstab
mount -a
root@vsh05:~# blkid
/dev/sda1: UUID="c7ad3108-758a-4920-8a95-c94865901ea3" UUID_SUB="2a7234b0-6b59-48fd-b711-255f4f378675" TYPE="btrfs" PARTUUID="32dc5157-01"
/dev/sdb1: UUID="2Tkg0j-OIlG-wEWt-guI6-dfFw-TJnh-RLcchK" TYPE="LVM2_member" PARTUUID="46936cbd-01" <<- esta unidad es con LVM
/dev/mapper/vg00--vm05-data: UUID="bcbb8eb9-a861-4348-a848-c545af674c7c" TYPE="ext4" <<-esta entrada sólo aparece cuando agregamos glusterfs
Comandos útiles:
blkid
cat /etc/fstab [comparar ambas salida]
gluster volume delete almacen
2- Cluster:
conectar los nodos:
gluster peer probe node2 <<-- inicia los nodos debe hacerse cruzado
gluster peer status
mkdir -p /export/sdb1/brick
gluster volume create almacen replica 2 servidor01:/export/sdb1/brick servidor02:/export/sdb1/brick <<-- xq simplemente ambos servidores tienen los mismos directorios. Este comando creará la entrada "dev/mapper" en fstab (ver arriba)
gluster volume start almacen
gluster volume info
gluster volume status
gluster peer status
gluster volume create almacen replica 2 servidor01:/export/sdb1/brick servidor02:/export/sdb1/brick force
Links:
https://www.youtube.com/watch?v=LlczFSvdYkQ
https://libvirt.org/storage.html#StorageBackendGluster
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/sect-managing_guest_virtual_machines_with_virsh-storage_pool_commands
viernes, 12 de octubre de 2018
Debian 9 en Macbook early 2008
Empece por la version Debian-mac 9.5 amd64
Para salvar la lentitud en el arranque: rEFInd
Desktop escojido LXCE (una mejora de openbook)
Problemas:
Con el brillo, con las teclas de control de brillo
Con las teclas de control de audio
Con la techla de expulsion de cd
Con el WiFi
- tools :
-- lspci -vvnn | grep 14e4
-- iw list
-- iwlist chan
Con la WebCam
Montar la particion Macos:
- Encontrarla con fdisk -l
- Crear carpeta y montarla con mount /dev/hda2 APPLE
Sacar el driver desde: System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBVideoSupport.kext/Contents/MacOS/AppleUSBVideoSupport
Con un teclado externo de otro idioma
Con un monitor externo
Con algunos dvds
*LightDM me obliga cada vez a escribir mi usuario (no solo la contrasena):
https://wiki.debian.org/LightDM#Enable_user_list
[Seat:*] greeter-hide-users=false
martes, 9 de octubre de 2018
Una facil mudanza a shell zsh
Despues de trabajar casi 20 años con el MS-DOS de microsoft y otros 5 con powershell, los interpretes de comandos te resultan simpáticos.
El uso frecuente de linux me acerco a bash, csh y sh, donde por ser el mas usado, me quedé largo tiempo con bash.
Pero el brinco a mac y su sabor por lo fácil y bonito me hizo buscar una alternativa "mac" al esqueletico shell estandar de macos.
Lo primero fue cambiar el terminal estandar por iTerm. Cuidado que el terminal no es el shell, sino un "metashell"
A medida que lo fuí usando fui experimentando problemas habituales y repetitivos que el buen bash no podia salvar, como es el hecho que las historia de las sesiones no se guardan de manera confiable. Me refiero a las incongruencias que ocurren cuando el usuario esta logeado en varias consolas del mismo servidor.
Los cambios a zsh no fueron en nada duro (ni siquiera en mi servidor FreeBSD), instalar zsh:
en mac ya estaba en /bin/ (lo habre instalado en otra ocasion?)
en bsd : pkg install zsh
Luego ponerle el fancy skin "oh-my-zsh" con el sabor "agnostec" que es el mas pichirruchi que se puede escojer.
Los caminos cortos descritos en el sitio github de oh-my-zsh no me funcionaron muy bien en los diferentes sistemas que uso, pero el camino largo: advanced installation --> manual installation no presentan ningun problema.
En mac para mi iTerm tuve que instalarme una coleccion de letras especiales llamadas
"Powerline", tambien presentes en github. Mi FreeBSD no lo necesita.
UPDATE Agosto 2020
Despues de algunos años usando zsh me han liado las configuraciones, la instalacion de git y wget, para instalar ohmyzsh, la configuracion, etc. He probado FiSH, que tiene casi todo lo que necesito desde el principio sin tanto trabajo. Me lo quedo!
simplemente:
pkg install fish
chsh root /usr/local/bin/fish
jueves, 4 de octubre de 2018
Usando VIM
Bien por lo poderoso o lo complicado, hace ya desde algun tiempo que empecé a incursionar en el uso de vim, alternando con otros editores, por lo que ahora escribo mis experiencias:
Casi todo lo configurable y lo más importante de VIM se puede configurar a traves de este archivo de configuración:
~/.vimrc
------------------------------------------------------------
filetype plugin indent on
syntax on
set nocompatible
set number #<-- numera las lineas
set filetype=XML
autocmd BufEnter *.recipe :setlocal filetype=xml
execute pathogen#infect() #<--carga el instalador de plugins "pathogen"
set laststatus=2 #<-- permite que funcione el plugin light..
map <C-o> :NERDTreeToggle<CR> #<-- mapea a ctrl-o la aparicion del plugin NERDTree
------------------------------------------------------------
Vim tiene, dos o hasta 3 modos de edición, que yo uso asi:
-------------------------------------------------------------------------
Modo Comandos, que es el que abre Vim, o se llama con ESC + :
Modo Insercion (Insert), que se llama cuando estas en modo comando y presionas "i"
Modo Visual que aparece cuando usas el ratón, desde una GUI y con lo que puedes cortar y pegar. En algunos contextos tambien se puede cortar y pegar sin modo Visual.
Los comando son un queso, por lo que hay que buscarlos y memorizarlos, yo (todavía) uso una chuleta que de vez en cuando actualizo y pego en mi monitor:
=====================================================
Chuleta Comandos Importantes de VIM:
-------------------------------------------------------------------------
:set number
:set nonum
:ha! --> hard copy (imprimir)
:wq --> guardar y salir
:w archivo.txt --> guardar con nombre "archivo.txt"
:q! --> salir sin guardar
u --> deshacer
p --> pegar
dd --> cortar (y borrar) linea
dw --> delete word --> borrar/cortar palabra
37dd --> cortar 37 lineas
yy --> copiar linea
23y(espacio) --> copiar 23 lineas a la derecha
y8(espacio) --> copiar 8 caracteres a la derecha
y6l(espacio) --> copiar 6 car a la izq
:tab archivo.txt --> abre una nueva pestaña (tab) con el archivo.txt
:tabnew
gt --> go tab , siguiente pestaña
:tabc --> tab close
:e archivo.txt --> cambiar (abrir) a archivo.txt
/palabra --> buscar "palabra" (hacia adelante)
?palabra --> buscar "palabra" (hacia atras)
:vsp archivo.txt --> split con archivo.txt
:windo diffthis --> encuentra las diferencias entre las dos ventanas (del split)
ctrl + ww ---> cambia entre ventanas
ctrl + wr ---> intercambia las ventanas (el derecho va a la izq y viceversa)
:%s/^/textoaagregar --> agregar caracteres o espacios en todas las lineas, bueno para agregar espacios
:125, 189s/^/# --> agrega el comentario # desde la linea 125 hasta la 188
copiar lineas desde la 81 a a 91:
81,91y
osea que :
%= todos
n-inic, n-fin= rango
s = linias
/^/# = agregar #
cambiar un texto por otro:
:g/texto_a_sustituir/s//texto_nuevo/g
ó también:
:%s/texto_a_sustituir/texto_nuevo/g==============================================
Plugins para VIM
------------------------------------------------------
Además, se puede complementar VIM con plugins que le agregan funcionalidades o lo hermosean, como por ejemplo:
- NERDTree --> agrega un arbol interactivo de directorios y archivos
- lightline --> agrega color funciona la barra de comandos e infos
y asi muchos más que se pueden encontrar en vim-awesome, que es una pagina web dedicada a las herramientas para vim
Estos plugins se pueden installar con varios gestores de plugins. Yo uso pathogen, creo que fortuitamente y no recuerdo ninguna razon especial por la que le haya escojido. Hasta ahora me funciona bien y me parece fácil. Otros gestores son: Vundle, Neobundle und VimPlug.
-- Pathogen instalacion :
----------------------------
Básicamente se trata de copiar el paquete pathogen.vim en la carpeta ~/.vim/autoload
En el apartado instalación de github se explica muy bien:
https://github.com/tpope/vim-pathogen
en resumen:
mkdir -p ~/.vim/autoload ~/.vim/bundle && \
curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim
y agregar a vimrc. la linea
exit:
execute pathogen#infect()
eso es todo!
-- Instalar Plugins NERDTree y lightline con Pathogen:
------------------------------------------------------------------
Para instalar cualquier plugin con Pathogen, basta copiarlo en la carpeta ~/.vim/bundle, esto es lo que hacen los comandos siguientes:
git clone https://github.com/scrooloose/nerdtree.git ~/.vim/bundle/nerdtree
git clone https://github.com/itchyny/lightline.vim ~/.vim/bundle/lightline.vim
--- Trics con NERDTree y Lightline
NT se activa con el comando
:NERDTree
Pero si lo usas mucho, pronto te fastidiara ese engorroso comando, asi que se puede
mapear a una combinacion de comando, eso es lo que sale arriba en mi ejemplo de .vimrc
Lightline no me funcionó asi nada mas hasta que agregé a .vimrc
set laststatus=2
-- Agregar algo al final de cada linea:
:%norm A algo
Explicacion:
:%norm A*
This is what it means: % = for every line
norm = type the following commands
A* = append '*' to the end of current line
-- Imprimir (en impresora) los numeros de linea:
set number
set printoptions=number:y