Criando servidor de arquivos GNU/Linux com RAID virtual e DFS em rede Windows

O que descrevo aqui, são os passos que utilizei para criar um servidor de arquivos de baixo custo com RAID1 (mirror) virtual (via software) e, de quebra, melhorar a estrutura de minha rede, utilizando de uma abstração de acesso aos dados (DFS - Distribution File System). Divirtam-se!

[ Hits: 38.220 ]

Por: Tecoberg em 10/02/2014


Associando o servidor / Liberando login de usuários / Active Directory



Associando o servidor à rede Windows

Instalaremos agora, os pacotes necessários para que um servidor GNU/Linux possa ser um Member Server de uma rede Windows. Em seguida, realizaremos todas as configurações necessárias para que isso seja possível.

# apt-get install samba winbind libpam-modules

Ao configurar o Samba, estaremos dando continuidade ao item 4, que falava sobre pastas compartilhadas e, em paralelo, dando continuidade à configuração do servidor.

Criamos dois diretórios com os seguintes propósitos:
  • /mnt/raid_a/ddata :: pasta de dados que o servidor armazenará.
  • /mnt/raid_a/dirraid :: root do DFS.

Vamos para a configuração do Samba Winbind. Edite o arquivo:

# nano /etc/samba/smb.conf

Como descrito a seguir:

[global]
workgroup = <nome da rede Domain>
realm = <nome da rede Domain.extenções>
    netbios name = <nome deste servido>
    server string = %h server
    security = domain
    allow trusted domains = no
    idmap config <nome da rede>: default = yes
    idmap config <nome da rede>: backend = rid
    idmap config <nome da rede>: readonly = yes
    idmap config <nome da rede>: range = 1000000-10000000
    idmap alloc config: range = 1000000-10000000

    idmap uid = 1000000-10000000
    idmap gid = 1000000-10000000

    template shell = /bin/bash
    template homedir = /home/%U
    winbind use default domain = yes
    winbind enum users = yes
    winbind enum groups = yes
    winbind nested groups = yes

    load printers = no
    domain master = no
    preferred master = no
    domain logons = no
    wins support = no
    wins proxy = no
    dns proxy = no
    password server = <nome do servidor dc>.<nome da rede Domain.extenção>

[Dados]
    path = /mnt/raid_a/ddata
    comment = Sources files to devices
    vfs objects = acl_xattr
    map acl inherit = Yes
    store dos attributes = Yes
    browseable      = yes
    valid users     = @"Domain Users"
    write list      = @"enterprise admins" @"Alfa"

#shared home
[homes]
    comment = shared home
    browseable = no
    writable = yes
    read only = no
    create mask = 0664
    directory mask = 0775

Modifique o arquivo /etc/nsswitch.conf, para que as linhas fiquem desta forma:

passwd: compat winbind
group:  compat winbind
shadow: compat winbind

Reinicie os serviços do Samba e do Winbind:

# service smbd start
# service winbind start


Ingressaremos no domínio (Windows Group Management) com o comando:

# net rpc join member -U <Domain Administrator>

Será solicitada a senha da conta <Domain Adminstrator>.
Caso ocorra algum problema, adicione o parâmetro: -S < nomedodcserver>

Liberando login de usuários do Domain ao servidor

Instale o Kerberos, usando o comando:

# apt-get install krb5-user libkrb53

Agora, será descrita uma lista de arquivos que serão editados. Os comentários serão suprimidos, para uma melhor visualização:

# nano /etc/pam.d/common-account  # O Winbind configura automaticamente, mas convém verificar.

account [success=2 new_authtok_reqd=done default=ignore]    pam_unix.so
account [success=1 new_authtok_reqd=done default=ignore]    pam_winbind.so
account requisite              pam_deny.so
account required            pam_permit.so

# nano /etc/pam.d/common-auth  # O Winbind configura automaticamente, mas convém verificar.

auth    [success=2 default=ignore]      pam_unix.so nullok_secure
auth    [success=1 default=ignore]      pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass
auth    requisite              pam_deny.so
auth    required            pam_permit.so

# nano /etc/pam.d/common-session

session [default=1]          pam_permit.so
session requisite              pam_deny.so
session required            pam_permit.so
session optional            pam_umask.so
session required    pam_unix.so
session required    pam_mkhomedir.so skel=/etc/skel/ umask=0022
session optional            pam_winbind.so

Ao final reinicie o servidor.

Associando o servidor ao Active Directory

Para adicionar o servidor GNU/Linux ao Active Directory, execute o comando a seguir:

# net ads join -U <administrator do domain>

Um texto parecido com o seguinte, será mostrado:
Joined 'FILESERVERNAME' to realm 'exemple.local'
No DNS domain configured for datdserver. Unable to perform DNS Update.
DNS update failed!

Para verificar se está tudo OK, use o comando abaixo:

# wbinfo -t

O seguinte texto deve ser retornado:
Checking the trust secret for domain DOMAINAME via RPC calls succeeded

Outros comandos interessantes, que podem ser utilizados para verificar se o servidor está integrado ao Domain, são:

# wbinfo -u
# wbinfo -b


Lista os usuários e grupos dos Domain. Um outro comando que pode ser utilizado para testar referenciando semente a um usuário, é:

# wbinfo -a DOAMINAME\\user%'password'

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. RAID
   3. Árvore de diretórios / Acesso remoto / Sincronizando horário
   4. Associando o servidor / Liberando login de usuários / Active Directory
   5. Permissão de usuários / DFS / SSH / Firewall
   6. Dicas
   7. Fontes de pesquisa
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Criando um servidor DNS com o DJBDNS

Rodando seu script como "service" no Conectiva

Como configurar um servidor de FTP de forma simples e com host virtual

Configuração de teclado e dispositivos de entrada em geral a partir do HAL no Xorg 1.5 e superiores

Tunando o Apache 1.3.x ou 2.x (prefork)

  
Comentários
[1] Comentário enviado por galactus em 10/02/2014 - 12:21h

Parabéns pelo artigo Menashe e muito obrigado pelos créditos dos artigos no Fórum do Ubuntu. Fico feliz em saber que os tutoriais estão ajudando. Só não imaginava que seria tão longe. :)

Em casa eu tenho um servidor de arquivos com XFS também, só não fiz RAID via software. Na verdade já estou precisando de um storage. Estou sendo um devorador de dados. Heheheheheh


[2] Comentário enviado por junior em 10/02/2014 - 14:08h

Excelente artigo.
+ favorito

[3] Comentário enviado por betoberg em 13/02/2014 - 12:56h

Show de bola.
Muito bem feito o artigo. Vou testar.
Parabéns!

[4] Comentário enviado por DouglasMenger em 09/08/2014 - 09:59h

Tecoberg,

Quero agradecer por criar este artigo, eu estava tentando alguns dias montar um raid via software e com sua ajuda conseguir fazer isso de forma rápida e pratica.

Muito obrigado.

[5] Comentário enviado por tecoberg em 21/01/2015 - 06:37h

Caros amigos

Na versão 14.4 do Ubuntu houve algumas alterações nas instalações dos pacotes winbind e kerberos. Abaixo segue as linhas de comandos respectivas:

# apt-get install samba winbind libpam-winbind libnss-winbind

# apt-get install krb5-user krb5-config

Abraços

Tecoberg

[6] Comentário enviado por invernosantigos em 18/05/2015 - 04:14h


Eita !!! Legal seu tutorial. O tipo de contribuição q tds precisávamos ( e msmo qm n precisa, qr E DEVE saber ! ). Mas... houve algumas falhas, prática e teóricas : Vc n especifica se o disco virtual é automaticamente criado no processo, ou se é preciso criar uma partição com antecedência -- Do jeito q está, só os já meio entendidos escaparão dessa dúvida ( ou erro ). Segudo : vc n especifica o q fazer se algo n sair exatamente como o descrito. No meu caso, o primeiro passo, ao invés de :

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md127 : active raid1 sdb1[0] sdc1[1]
488253248 blocks super 1.2 [2/2] [UU]

saiu :

# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
unused devices: <none>

...e aí, sem saber o q fazer, parei por aí mesmo... Como corrijo, ou n saiu nd errado e era só continuar em frente ? E como corrijo e RETOMO a instalação, já q parei ? O meu sistema d arquivos é btrfs ( Escolhi este p poder fazer scrubing data. Há qm diga q btrfs ainda n é estável, mas essas opniões eram de 2 anos atrás ! ), pensei em fazer o segundo disco com ext4 msmo, já q vc disse -- ou assim entendi -- q n precisava ser o msmo sistema d arquivos p ambos... -- Eu poderia criar uma partição "manualmente" com o Gparted ou coisa q valha ( e assim poder optar por qualquer sistema d arquivos d minha escolha ), e torná-lo espelho depois ? Dúvidas, dúvidas e dúvidas, mas dúvidas q valhem à pena esclarecer ! Vc poderia me responder tds elas ??


[7] Comentário enviado por Tecoberg em 25/05/2015 - 04:59h

Quê bom que você gostou do artigo invernosantigos, entretanto ele foi escrito para pessoas que tenham um conhecimento além do básico em Linux por sua clara complexidade.
Esta foi a solução que encontrei para resolver um problema que eu tinha e resolvi comparti-lha lá para que outros pudessem usá-la como base para resolver problemas semelhantes como você o fez.
Cada alteração dos passos descritos,sejam eles a escolha de um outro hardware, o Sistema Operacional ou até mesmo a versão dele etc, abre um leque de possibilidades de problemas que realmente exige investimento de tempo para pesquisas e testes que somente em "loco" é possível realizar.
Como consolo eu posso contar-lhe que eu investi semanas para a construção da solução descrita e na escrita deste artigo. Tempo este que lhe fora poupado. :)
Boa sorte com este seu desafio e não esqueça de contribuir com a comunidade postando a solução que encontrou para o seu problema.
grandes abraços


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts