Montar volume LVM como slave em linux. ERRO “UNKNOWN FILESYSTEM TYPE ‘LVM2_MEMBER'” –

Por Gabriel Fernande em vivaolinux.com.br

Se você tiver mais de uma distro instalada com discos LVMs e desejar ler o conteúdo da partição LVM da outra versão Linux instalada ou até mesmo para simplesmente ler informações de qualquer HD com partições LVM na sua distro atual, provavelmente você tentaria montar a partição com um comando parecido com este:

# mount /dev/sda1 /media/tmp 

Pois é, eu também fiz isto e me deparei com o tal “unknown filesystem type ‘LVM2_member'”.

Para montarmos estes tipos de volumes lógicos, sem alterar qualquer volume lógico e manter funcionando a outra instalação, devemos seguir algumas simples etapas, segue (use usuário root).

Digite o comando no console:

# pvs 

O comando acima deve ter uma saída parecida com esta, exibindo todos os grupos de volumes configurados:

  PV         VG           Fmt  Attr PSize  PFree
  /dev/sda2  vg_fernandes lvm2 a-   74,33G    0 
  /dev/sdb3  vg_fernandex lvm2 a-   74,63G    0

No meu caso o Grupo de Volume (VG – volume group) da minha outra instalação Linux é o vg_fernandex configurado no Volume Físico (PV – physical volume) em /dev/sdb3.

Agora que sabemos que nosso Grupo de Volume é vg_fernandex, utilizaremos o comando abaixo para listar os Volumes Lógicos (LV – logical volumes). Digite o comando no console:

# lvdisplay vg_fernandex 

Este comando deve ter uma saída próxima a esta abaixo, exibindo todos os Volumes Lógicos e suas propriedades:

  --- Logical volume ---
  LV Name                /dev/vg_fernandex/lv_root
  VG Name                vg_fernandex
  LV UUID                4ZjsBJ-VnKQ-xAN3-O0x7-PD1W-Itc4-1q5pZ0
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                69,72 GB
  Current LE             17849
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0
   
  --- Logical volume ---
  LV Name                /dev/vg_fernandex/lv_swap
  VG Name                vg_fernandex
  LV UUID                aCjfhN-rUi3-uy0n-fXEW-TKNG-pit3-f0IYYV
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                4,91 GB
  Current LE             1256
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

Neste caso o Volume Lógico que desejamos montar é o /dev/vg_fernandex/lv_root, para isto vamos executar mais um comando:

# mount /dev/vg_fernandex/lv_root /media/outro_hd 

* (/media/outro_hd: não esqueça de criar este ou outro diretório para o destino da montagem antes de efetuar o comando)

Feito, agora seu hd está disponível na sua outra instalação Linux, sem que qualquer configuração do LVM seja alterada.

Simples configuração de um servidor NTP

Uso homologado: CentOS 7

yum install ntp ntpdate

etc/ntp.conf

driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noquery
logfile /var/log/ntp
ntpsigndsocket /usr/local/samba/var/lib/ntp_signd/

# liberando somente esses ips para consulta em nosso ntp server na nossa lan
restrict 127.0.0.1
restrict ::1
restrict 192.168.2.0 mask 255.255.255.0
restrict 192.168.254.0 mask 255.255.255.0

# onde busco o horário para sincronização.
server a.ntp.br
server b.ntp.br
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor

systemctl enable ntpd

LVM – Aumentando volume de uma partição

Ferramentas para consulta

Antes de irmos em frente, vamos ver mais algumas ferramentas LVM para exibir o status dos nossos dispositivos. Lembre-se de que temos três componentes diferentes que compõem uma partição LVM completa, o volume físico (PV, ou Physical Volume), o grupo de volume (VG, ou Volume Group) e o volume lógico (LV, ou Logical Volume).

Vamos dar uma olhada no volume físico (PV).

# pvdisplay
--- Physical volume ---
PV Name /dev/sde1
VG Name system
PV Size 7.48 GB / not usable 3.79 MB
Allocatable yes
PE Size (KByte) 4096
Total PE 1915
Free PE 1915
Allocated PE 0
PV UUID 7vkgGI-e402-K3hE-XGJz-kl4C-nI7o-oFqwA8

Aqui podemos ver o nome do volume físico (a partição física que criamos), o grupo de volume ao qual a partição foi atribuída (que chamamos de sistema) e outras informações relativas ao tamanho do volume.

Vamos dar uma olhada no grupo de volume (VG).

# vgdisplay
--- Volume group ---
VG Name system
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 7.48 GB
PE Size 4.00 MB
Total PE 1915
Alloc PE / Size 1280 / 5.00 GB
Free PE / Size 635 / 2.48 GB
VG UUID Z6TSXO-0DQ3-7Jiz-67k2-dEkY-dYR2-RNJE85

Aqui temos o nome do grupo de volume (que chamamos de sistema), seu tipo (lvm2), seu espaço total e o espaço que já foi atribuído (lembre-se de que criamos dois volumes lógicos, root e home).

Finalmente, vejamos o volume lógico (LV).

# lvdisplay
--- Logical volume ---
LV Name /dev/system/linux
VG Name system
LV UUID L0qrZu-bwCp-rnEu-uJry-4j3n-XBLB-OWsXVx
LV Write Access read/write
LV Status available
# open 0
LV Size 2.00 GB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0

--- Logical volume ---
LV Name /dev/system/home
VG Name system
LV UUID AScHe0-q5sJ-F8eH-bYRy-3URL-Nt7m-0UFduW
LV Write Access read/write
LV Status available
# open 0
LV Size 3.00 GB
Current LE 768
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:1

Aqui temos as duas partições que criamos, home e Linux. Observe que o volume físico (PV) e o grupo de volume (VG) também possuem um identificador único, que o Linux usa para detectar e controlar os dispositivos.


AUMENTAR O VOLUME DE UMA PARTIÇÃO

Agora que está usando o LVM, se você ficar sem espaço em uma partição, só terá que dizer ao LVM para atribuir mais espaço ao dispositivo em particular e redimensionar o sistema de arquivos. Embora você possa encolher partições, é bem mais seguro aumentá-las. Por isso eu recomendo a você nunca atribuir o tamanho total do volume físico aos volumes lógicos, mas sim começar pequeno e ir aumentando conforme a necessidade. Se estiver usando um sistema de arquivos ext, isso pode ser feito mesmo com as partições montadas (alguns outros sistemas de arquivos também permitem fazer isso).

A situação atual é esta, com 100% de utilização.

# df -h
/dev/mapper/system-linux 2.0G 2.0G 0 100% /media/linux

Primeiro, aumente o volume lógico em 1 GB.

# lvresize -L +1G /dev/system/linux
Extending logical volume linux to 3.00 GB
Logical volume linux successfully resized

Agora que aumentamos o dispositivo, temos que redimensionar o sistema de arquivos

# resize2fs /dev/system/linux
Filesystem at /dev/system/linux is mounted on /media/linux; on-line resizing required
Resizing the filesystem on /dev/system/linux to 786432 (4k) blocks.
The filesystem on /dev/system/linux is now 786432 blocks long.
1

Depois de redimensionar o sistema de arquivos, eis o resultado.

1
# df -h
/dev/mapper/system-linux 3.0G 2.0G 855M 71% /media/linux

Se quiser adicionar outro HD ao computador, basta instalá-lo no computador e repetir as etapas 1 e 2. Como o grupo de volume já existe, não é preciso criá-lo como na etapa 3. Em vez disso, adicione-o ao grupo existente.

# vgextend system /dev/sdf1
Volume group "system" successfully extended

Agora você tem um disco inteiro novinho como espaço LVM adicional, pronto para ser atribuído a qualquer volume lógico que você quiser.
É assim que você pode usar o LVM para expandir e atribuir espaço na mesma hora, sem ter que mover dados ou desligar o computador!

OUTRO EXEMPLO:

[root@server uferes]# /usr/sbin/lvresize  -L +1G /dev/rootvg/root
  Extending logical volume root to 4,00 GB
  Logical volume root successfully resized

[root@server uferes]# /sbin/resize2fs /dev/rootvg/root

Script de Rotacionamento de logs e arquivos

Utilizando dos comandos de compactação, xargs e flags do find

#!/bin/sh

# Define o nome para arquivamento
OLD_LOG=/var/processed_old_files_bkp/processed.backup.`date +%d%m%y`
mkdir `echo $OLD_LOG`
# move o arquivo para o diretorio de arquivamento
mv /var/data/inbound/bolas_recebeestoque_* `echo $OLD_LOG`

# compacta o arquivado
tar -czf `echo $OLD_LOG`.tar.gz `echo $OLD_LOG`
rm -r `echo $OLD_LOG`

# apaga os compactados com mais de 60 dias
find /var/processed_old_files_bkp/processed.backup*  -mtime +60 -exec rm -f {} \;

# apaga logs com mais de 20 dias.
find /var/data/inbound/bolas_recebeestoque_20* -mtime +20 -exec rm -f {} \;

# Apaga registros de emails do sendmail com mais de 15 dias (realizando uma busca somente por arquivos)
cd /var/spool/clientmqueue; find . -type f -mtime +15 | xargs rm -rf

Instalação FFmpeg CentOS 7

No centos 7 não existe mais o pacote FFmpeg.
Na internet existem tutoriais para instalação utilizando repositórios porem sempre estão quebrados.
Uma alternativa a isso tudo é compilar todas as bibliotecas e o proprio ffmpeg “na unha”

1 – Instalar as dependências:

# yum install autoconf automake cmake freetype-devel gcc gcc-c++ git libtool make mercurial nasm pkgconfig zlib-devel

2 – Criar um diretório onde armazenaremos todas as dependências:

mkdir ~/ffmpeg_sources

3 – Instalação do Yasm
Yasm is an assembler used by x264 and FFmpeg

cd ~/ffmpeg_sources
git clone --depth 1 git://github.com/yasm/yasm.git
cd yasm
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install
make distclean
libx264

4 – Instalação do H.264 video encoder.

See the H.264 Encoding Guide for more information and usage examples
Requires ffmpeg to be configured with –enable-gpl –enable-libx264.

cd ~/ffmpeg_sources
git clone --depth 1 git://git.videolan.org/x264
cd x264
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
make
make install
make distclean
libx265

5 – H.265/HEVC video encoder. See the H.265 Encoding Guide for more information and usage examples.

Requires ffmpeg to be configured with –enable-gpl –enable-libx265.

cd ~/ffmpeg_sources
hg clone https://bitbucket.org/multicoreware/x265
cd ~/ffmpeg_sources/x265/build/linux
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source
make
make install

6 – libfdk_aac
AAC audio encoder.

Requires ffmpeg to be configured with –enable-libfdk-aac (and –enable-nonfree if you also included –enable-gpl).

cd ~/ffmpeg_sources
git clone --depth 1 git://git.code.sf.net/p/opencore-amr/fdk-aac
cd fdk-aac
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
make distclean

7 – libmp3lame

MP3 audio encoder.
Requires ffmpeg to be configured with –enable-libmp3lame.

cd ~/ffmpeg_sources
curl -L -O http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
tar xzvf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm
make
make install
make distclean

8 – libopus

Opus audio decoder and encoder.

Requires ffmpeg to be configured with –enable-libopus.

cd ~/ffmpeg_sources
git clone git://git.opus-codec.org/opus.git
cd opus
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
make distclean

9 – libogg

Ogg bitstream library. Required by libtheora and libvorbis.

cd ~/ffmpeg_sources
curl -O http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.gz
tar xzvf libogg-1.3.2.tar.gz
cd libogg-1.3.2
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
make distclean

10 – libvorbis

Vorbis audio encoder. Requires libogg.

Requires ffmpeg to be configured with –enable-libvorbis.

cd ~/ffmpeg_sources
curl -O http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.4.tar.gz
tar xzvf libvorbis-1.3.4.tar.gz
cd libvorbis-1.3.4
LDFLAGS="-L$HOME/ffmeg_build/lib" CPPFLAGS="-I$HOME/ffmpeg_build/include" ./configure --prefix="$HOME/ffmpeg_build" --with-ogg="$HOME/ffmpeg_build" --disable-shared
make
make install
make distclean

11 – libvpx

VP8/VP9 video encoder.

Requires ffmpeg to be configured with –enable-libvpx.

cd ~/ffmpeg_sources
git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git
cd libvpx
./configure --prefix="$HOME/ffmpeg_build" --disable-examples
make
make install
make clean

12 – FFmpeg

cd ~/ffmpeg_sources
git clone --depth 1 git://source.ffmpeg.org/ffmpeg
cd ffmpeg
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --pkg-config-flags="--static" --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265
make
make install
make distclean
hash -r

—————————————————————

Atualizações:

Updating

Development of FFmpeg is active and an occasional update can give you new features and bug fixes. First, remove the old files and then update the dependencies:

rm -rf ~/ffmpeg_build ~/bin/{ffmpeg,ffprobe,ffserver,lame,vsyasm,x264,x265,yasm,ytasm}
# yum install autoconf automake cmake gcc gcc-c++ git libtool make mercurial nasm pkgconfig zlib-devel
Update Yasm

cd ~/ffmpeg_sources/yasm
make distclean
git pull
Then run ./configure, make, and make install as shown in the Install yasm section.

Update x264

cd ~/ffmpeg_sources/x264
make distclean
git pull
Then run ./configure, make, and make install as shown in the Install x264 section.

Update x265

cd ~/ffmpeg_sources/x265
rm -rf ~/ffmpeg_sources/x265/build/linux/*
hg update
cd ~/ffmpeg_sources/x265/build/linux
Then run cmake, make, and make install as shown in the Install x265 section.

Update libfdk_aac

cd ~/ffmpeg_sources/fdk_aac
make distclean
git pull
Then run ./configure, make, and make install as shown in the Install libfdk_aac section.

Update libvpx

cd ~/ffmpeg_sources/libvpx
make clean
git pull
Then run ./configure, make, and make install as shown in the Install libvpx section.

Update FFmpeg

cd ~/ffmpeg_sources/ffmpeg
make distclean
git pull
Then run ./configure, make, and make install as shown in the Install FFmpeg section.

Reverting changes made by this guide

rm -rf ~/ffmpeg_build ~/ffmpeg_sources ~/bin/{ffmpeg,ffprobe,ffserver,lame,vsyasm,x264,yasm,ytasm}
# yum erase autoconf automake cmake gcc gcc-c++ git libtool mercurial nasm pkgconfig zlib-devel
hash -r
If You Need Help

Feel free to ask your questions at the #ffmpeg IRC channel or the ​ffmpeg-user mailing list.