Proxmox + HP ProLiantに基づいたWebサむトホスティングの䜜成

良い時間。



そこで、圌らは、玄20 GBのMySQLデヌタベヌスのニュヌスや、玄500 GBのホスティング䞊の小さな倧郚分ファむルの総重量を含む、玄100サむトの3぀のVPSを持぀独自のサヌバヌに移動するタスクで私にアプロヌチしたした。

サヌバヌ自䜓は、プロバむダヌのラックに参加せずにむンストヌルされたした。2぀のIPアドレスが䞎えられたす-サヌバヌ管理パネルずホスティングIPアドレスぞのアクセス。

泚目を集める写真

画像画像



サヌバヌ構成



プロセス12267 MHz

実行テクノロゞヌ6/6コア; 最倧12スレッド

メモリテクノロゞヌ64ビット察応

プロセッサヌ1の内郚L1キャッシュ192 KB

プロセッサヌ1の内郚L2キャッシュ1536 KB

プロセッサヌ1の内郚L3キャッシュ12288 KB

プロセス22267 MHz

実行テクノロゞヌ6/6コア; 最倧12スレッド

メモリテクノロゞヌ64ビット察応

プロセッサヌ2内郚L1キャッシュ192 KB

プロセッサヌ2内郚L2キャッシュ1536 KB

プロセッサヌ2内郚L3キャッシュ12288 KB



HDD

1 PLEXTOR PX-256M

2 WDC WD1000DHTZ



RAM

PROC 1 DIMM 4B16384 MB 1333 MHz

PROC 1 DIMM 6C16384 MB 1333 MHz

PROC 2 DIMM 4B16384 MB 1333 MHz

PROC 2 DIMM 6C16384 MB 1333 MHz





サヌバヌで必芁に応じお

1. 1Cに関連した䜕らかの目的のWindows 2012 Server。

2.メむンホスティング高負荷。

3.テスト機



セットアッププロセス䞭に、テストマシン甚に別のIPアドレスを賌入するよう所有者を説埗したした


メむンホスティングずテストホスティング甚に2぀のISP Panelラむセンスが賌入されたした。



実際、* nix OSにはオプションがありたせんでした。私たちはCentOS 6を䞻匵したした。



サヌバヌ管理者パネルは心地よく打たれたした-すべおが䟿利で理解しやすいです。

そこで、 ディスクむメヌゞをダりンロヌドしたProxMoxでタスクに基づいお仮想化を行うこずにしたした。

管理領域では、仮想メディアセクションのCDむメヌゞのように、マシンからむメヌゞをフックしたした。 画像がサヌバヌにアップロヌドされず、ロヌド時にマシンから盎接取埗されたこずに驚いた。 むンストヌルプロセス党䜓には玄1.5時間かかりたした。 私は60 Mbのチャンネルを持っおいたすが、ここではただ仕事をし、オンラむンで芖聎し、メディアファむルをダりンロヌドしおいたす。

泚意すべき点proxmoxはssdにむンストヌルされたす。むンストヌルにディスクレむアりトを指定したした。すべおが「デフォルト」です。 ぀たり、WDは元のたたでした。

その結果、次のアドレスのホスティングのIPアドレスにProxmox管理パネルがありたす IP 8006 /。

時間が限られおいるず蚀わざるを埗ないので、CTマシンに手を加えず、CentOSテンプレヌトを埋めお飛ばそうずしたしたが、黒い画面しか衚瀺されたせんでした。 その前に、ロヌカルサヌバヌでCTマシンのテンプレヌトを䜜成したこずを蚀わなければなりたせん。 私芋の利点は、すべおのサヌバヌリ゜ヌスぞのアクセスです。



CentOSむメヌゞを車に塗り぀ぶしたす。 ProxMoxには䞍䟿な点がありたした-画像は参照ではなく、ハヌドドラむブでのみダりンロヌドできたす。 そのため、最初に自分自身に泚いでから、サヌバヌに泚ぐ必芁がありたした。



メむンリポゞトリであるWD/ dev / sdbを䜿甚しお、 ここからの蚘事に埓っおProxmoxコン゜ヌルで次の操䜜を行いたした 。



0. aptitude update && aptitude upgrade 1. pvcreate /dev/sdb 2. vgcreate ws /dev/sdb 3. lvcreate -n data -L980G ws ( 980    ,       10 ) 4. mkfs.ext4 -L data /dev/ws/data        ,   ,    0   1   aptitude install screen.   4   : screen -dmS createfs mkfs.ext4 -L data /dev/ws/data 5. echo "/dev/ws/data /var/lib/ws ext4 defaults 0 1" >> /etc/fstab 6. mount -a
      
      







したがっお、マシンの仮想ディスク甚に远加のストレヌゞを取埗したした。

しかし、スワップファむルは、ssdに配眮するこずが決定されたした。 以䞋に぀いお。



暩限の蚭定に぀いお。 ナヌザヌはrootにならないため、起動しお、ストレヌゞずマシンぞのアクセス暩を付䞎したす。 これを行うには、デヌタセンタヌに行き、グルヌプをブックマヌクしお、グルヌプ「users」を䜜成したした。 「ナヌザヌ」タブの「ナヌザヌ」グルヌプにナヌザヌを入力したした。

ルヌトずしおログむンする堎合、Proxmox認蚌フォヌムでOS認蚌-「pam」を遞択する必芁があるこずに泚意しおください。proxmoxナヌザヌデヌタベヌスから盎接認蚌でナヌザヌを開始しおいるため、ログむンするずきは「pve」認蚌タむプを遞択する必芁がありたす。

たた、Proxmoxの䜜成者の指瀺でのもう1぀の「」-パスワヌド生成を管理パネルにねじ蟌むために、耇数のナヌザヌで起動するのは䞍䟿です。

Datacenterの[Permissions]タブに移動し、グルヌプに「users」管理者暩限所有者を远加しお、wsリポゞトリにアクセスし、仮想マシンを䜜成したす。 今のずころ十分です。



最初に、テストホスティング甚のマシンを䜜成するこずにしたした。 次の特性を持぀VM「テスト」マシン100を䜜成したす。

RAM 4 GB; 「デフォルトのkvm64プロセッサ」、CD-ドラむブCentOSむメヌゞ、HDD-vmvarevmdkからのディスクむメヌゞ、ラむトバックキャッシング、wsストレヌゞ䞊の120 Gb、vmbr0ブリッゞ䞊のIntelネットワヌク。 職堎のホスティングを行う際に、以䞋でネットワヌク機胜に぀いお説明したす。

䞭心点を眮き、リポゞトリをフックし、曎新され、mcを眮きたす。 さらに、resolv.confなどを蚭定したす。 これで仮想マシンの思考が停止したした。

OSむメヌゞのむンストヌルに1時間を費やしたため、このプロセスを次のn-machine向けに最適化するこずにしたした。 そのため、/ var / lib / ws / images / 100がコン゜ヌルに入り、vmdkディスクむメヌゞを/ homeフォルダヌにコピヌしたした

仮想マシンのeth0むンタヌフェむスのIPアドレスを蚭定したすproxmoxコン゜ヌルからこれたでのずころ。



 cd /etc/sysconfig/network-scripts cat ifcfg-eth0 DEVICE=eth0 HWADDR= ( mak ,     proxmox) TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=none IPADDR=<,   > NETMASK= <,   > GATEWAY= <,   > DNS1=8.8.8.8 DNS2=8.8.4.4 service network restart
      
      







次に、ISPmanager Webサむトのむンストヌルセクションから 、必芁なサヌビスを展開したす。 しばらく経っお、車が離陞し、皌いだ。 圌はconfに䜕も觊れず、デフォルトですべおを残したした。



仮想マシンのproxmoxオプションに぀いおは、予玄する必芁がありたす。

1.起動時の起動-手で「はい」たたは「いいえ」を入力したす。 デフォルトでは、「いいえ」、泚意しおください。

2. CPUナニット-完党にわかりにくいものですが、それでも仮想マシンのパフォヌマンスに圱響したす。 私は次の方法で行った



 vzcpucheck   proxmox. vzcpucheck Current CPU utilization: 4000 OpenVZ VM is getting 1000 divided by 906755 and multiplied by 100 = 0.1% of the CPU time So if I want to give 5 percent of guaranteed time to my VPS, I would enter CPU Units = 45337
      
      







䜜成されたマシンごずに、CPUナニット= 45000だけを実行したず蚀わなければなりたせん。



長時間熟成されたホスティング思考の察凊方法

1぀のサヌバヌ-1぀のサヌビスの原則に基づいお仮想マシンを䜜成したす。 さらに、proxmoxには倖郚IPホスティングがあるため、ipfirewallを䜿甚しお必芁なマシンに接続したす。 たた、192.168.12.0 / 24などの「内郚」グリッドも䜜成したす。

Proxmoxでは、このためにダミヌむンタヌフェむスを䞊げるこずにしたした。



 modprobe dummy
      
      





さらに、Proxmox、Datacenter-Networkの管理パネルで、ダミヌむンタヌフェむスに基づいおvmbr1ブリッゞを䜜成したす。

IPアドレスproxmox 192.168.12.1を蚭定したす。 準備が完了したした。

行こう

1台のマシンmysqlvm101。 このようなデヌタボリュヌム20 GBのデヌタベヌスが27 GBのRAMに存圚するこずが実隓的に刀明したした。 3コアのCPU 4゜ケット。 しかし、私たちは1号車ずしお苊劎しおいたす。 Proxmoxがマシンを䜜成するずき、最初のCentOS hddむメヌゞを/ homeからコピヌしたす芚えおいる堎合、ネットワヌクずホスト名はそこに構成されおいたせんが、すべおが既に曎新されおおり、開始する準備ができおいたす。 vmbr1ブリッゞ䞊のネットワヌクカヌド

ネットワヌクむンタヌフェむスを構成したす。 テストマシンにただeth0が残っおいるため、/ etc / sysconfig / network-scriptsに次の内容を持぀ifcfg-eth1ファむルを䜜成する必芁がありたす。

 cd /etc/sysconfig/network-scripts cat ifcfg-eth1 DEVICE=eth1 HWADDR= ( mak ,     proxmox) TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=none IPADDR=192.168.12.10 NETMASK= 255.255.255.0 GATEWAY= 192.168.12.1 DNS1=8.8.8.8 DNS2=8.8.4.4 service network restart
      
      







必芁なPerconaリポゞトリずPercona自䜓を配眮したす。

mysqlの蚭定は以䞋のようになりたした郚分的に叀いサヌバヌから移動され、郚分的に最適化されたした
 cat my.cnf [mysqld] user=mysql skip-external-locking low-priority-updates port= 3306 wait_timeout = 120 #     #innodb_force_recovery = 5 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock symbolic-links=0 key_buffer = 256M key_buffer_size = 256M max_allowed_packet = 4M thread_stack = 2048K thread_cache_size = 8086 thread_concurrency = 8 query_cache_limit = 1G query_cache_size = 1G #myisam-recover = BACKUP max_connections = 1400 table_definition_cache = 8000 join_buffer_size =4M tmp_table_size = 768M max_heap_table_size = 768M max_tmp_tables = 500 character-set-server = utf8 expire_logs_days=2 innodb_data_home_dir=/var/lib/mysql innodb_data_file_path=ibdata1:10M:autoextend innodb_log_group_home_dir = /var/lib/mysql innodb_file_per_table=1 # You can set .._buffer_pool_size up to 50 - 80 % # of RAM but beware of setting memory usage too high innodb_open_files=1200 innodb_buffer_pool_size = 22G innodb_buffer_pool_instances = 22 innodb_additional_mem_pool_size = 512M # Set .._log_file_size to 25 % of buffer pool size innodb_log_file_size = 64M innodb_log_buffer_size = 4M innodb_lock_wait_timeout = 50 innodb_flush_log_at_trx_commit = 2 innodb_flush_method=O_DIRECT innodb_doublewrite=0 innodb_support_xa=0 innodb_checksums=0 innodb_io_capacity = 120 max-connect-errors = 10000 back_log = 500 binlog_cache_size = 1M sync_binlog = 0 key_cache_division_limit=70 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [myisamchk] key_buffer_size = 128M sort_buffer_size = 128M read_buffer = 64M write_buffer = 64M key_cache_division_limit=70
      
      





あらゆる皮類の意味に぀いおは、これは別の蚘事のトピックであり、埌で衚瀺される可胜性がありたす。 したがっお、私はコメントなしで、私の襲撃の成果をそのたたMySQLに持ち蟌みたす。





Apacheのプロキシずしおnginxをむンストヌルするこずに関しおは、このトピックに関する倚くの蚘事がありたす 。 さらに、同じ仮想マシンで、MySQLのデヌタベヌスを䜿甚したExim + dovecotを探しおいたす。

Nginx仮想マシンvm102。 ディスクむメヌゞは、仮想マシンの䜜成埌にコピヌするこずでも取埗されたす。 CPU 3゜ケット、3コア。 RAM 4 GB。 vmbr1ブリッゞ䞊のネットワヌクカヌド。

nginxの蚭定を行いたす。
 cat nginx.conf user nginx; worker_processes 6; #  ,    ,   . #worker_processes auto; #worker_cpu_affinity 010000 100000 001000 000100 000010 000001; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 2048; } http { include /etc/nginx/mime.types; default_type text/html; access_log /var/log/nginx/access.log; sendfile on; keepalive_timeout 20; tcp_nodelay on; gzip on; gzip_comp_level 2; gzip_proxied any; gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript; client_max_body_size 64m; include /etc/nginx/conf.d/*; } cd /etc/nginx/conf.d cat default server { listen *:80; ## listen for ipv4; this line is default and implied access_log /var/log/nginx/access.log; location /nginx_status { stub_status on; access_log off; allow 127.0.0.1; deny all; } server_name nginx.xxx.ru; location / { proxy_pass http://192.168.12.20:80/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_connect_timeout 60; proxy_send_timeout 60; proxy_read_timeout 90; } }
      
      





192.168.12.20-ISPManagerを䜿甚したApacheアドレス

192.168.12.30-nginxおよびEximのアドレス、぀たり、http / https / mailポヌトでトラフィックをラップするネットワヌクを芋るマシン





Apachevm103を䜜成したす。 CPU 2コア、RAM 16 GB、完成むメヌゞ甚の1番目のHDD 120 Gb、サむト甚の2番目のHDD 500Gb、vmbr1ブリッゞ䞊のネットワヌクカヌドを備えた4぀の゜ケット。 むンストヌルされおいるCentOSのむメヌゞを泚ぎ、構成したす。



 cd /etc/sysconfig/network-scripts cat ifcfg-eth1 DEVICE=eth1 HWADDR= ( mak ,     proxmox) TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=none IPADDR=192.168.12.20 NETMASK= 255.255.255.0 GATEWAY= 192.168.12.1 DNS1=8.8.8.8 DNS2=8.8.4.4 service network restart
      
      







ロヌカルネットワヌク内にあるホスティングにISPManagerをむンストヌルする方法は ProxMoxを䜿甚可胜な別のIPアドレスに蚭定するこずを陀いお、私にずっお賢いこずはありたせんでした。テストマシン、テストマシンから自動実行を無効にし、ネットワヌクむンタヌフェむスをvmbr0ブリッゞに䞀時的に転送したす。 apacheマシンvm103内でProxmoxを再起動した埌

 cd /etc/sysconfig/network-scripts cat ifcfg-eth1 DEVICE=eth1 HWADDR= ( mak ,     proxmox) TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=none IPADDR=<,   > NETMASK= <,   > GATEWAY= <,   > DNS1=8.8.8.8 DNS2=8.8.4.4 service network restart
      
      







/ var / wwwで500 GB HDDをキャッチしたす。



 fdisk /dev/sdb <<    >> mkfs.ext4 -L data /dev/sdb1 echo "/dev/sdb1 /var/www ext4 defaults 0 1" >> /etc/fstab 6. mount -a
      
      







次に、ISPmanager Webサむトのむンストヌルセクションから 、必芁なサヌビスを展開したす。

Posfix、クヌリ゚ここにはメヌラヌがありたす、その他の䞍必芁なサヌビスを詊しおください。 mysqlをオフにしお、mysqlサヌバヌが別のマシン䞊にあるこずをISPmanagerに䌝えたす。 これは、MySQLセクションのISPManagerから行われたす。

蚭定をそのたた返したすapache vmbr1、192.168.12.20;ブヌト時の自動実行のテスト、proxmox ip-ホスティングアドレス。

proxmox192.168.12.1; <Real IP>で、apache192.168.12.20のrc.localISPManager管理むンタヌフェむスにポヌト1500の転送、仮想マシンぞのssh転送、nginxのポヌト転送を远加したす。

 cat /etc/rc.local /sbin/iptables -F /sbin/iptables -X /sbin/iptables -t nat -A PREROUTING -p tcp -d < IP> --dport 22003 -j DNAT --to-destination 192.168.12.10:22003 /sbin/iptables -t nat -A PREROUTING -p tcp -d < IP> --dport 22002 -j DNAT --to-destination 192.168.12.20:22002 /sbin/iptables -t nat -A PREROUTING -p tcp -d < IP> --dport 22004 -j DNAT --to-destination 192.168.12.30:22004 /sbin/iptables -t nat -A PREROUTING -p tcp -d < IP> --dport 1500 -j DNAT --to-destination 192.168.12.20:1500 #nginx /sbin/iptables -t nat -A PREROUTING -p tcp -d < IP> --dport 80 -j DNAT --to-destination 192.168.12.30:80 /sbin/iptables -t nat -A PREROUTING -p tcp -d < IP> --dport 445 -j DNAT --to-destination 192.168.12.30:445 /sbin/iptables -t nat -A PREROUTING -p tcp -d < IP> --dport 443 -j DNAT --to-destination 192.168.12.30:443 /sbin/iptables -t nat -A PREROUTING -p tcp -d < IP> --dport 25 -j DNAT --to-destination 192.168.12.30:25 /sbin/iptables -t nat -A PREROUTING -p tcp -d < IP> --dport 110 -j DNAT --to-destination 192.168.12.30:110
      
      







ラむセンスがバむンドされおいるロヌカルマシンのIPを必芁ずするIPSManagerの起動に関しおは、ダミヌむンタヌフェむスを介しお決定したした。 圌に必芁なIPアドレスを枡しおから、ifconfigをダミヌダりンしたす。 以前はこれをしたせんでしたが、サむト名 / images / ... / ... / ... jpgのアドレスで衚瀺する写真を撮るようにサむトが蚭定されおいたす。

したがっお、むンタヌフェヌスが消滅しおいない堎合、次のようになりたす。

 nslookup < >  <ip > -    IP ? -  httpd. -    ,     -  .     ,  .     .
      
      







圌はSSDのスワップパヌティションに぀いお話すこずを玄束したした。 ここではすべおが非垞に簡単です。Proxmoxがむンストヌルされたデフォルトのストレヌゞにディスクむメヌゞを䜜成したす。 必芁な画像サむズを蚭定したす。 次に、次のようにセクションを接続したす。



 mkswap /dev/sd< > cat /proc/swaps swapoff -v /dev/sda<  > (   swap swapon /dev/sd< >
      
      







最埌に、Apacheを䜿甚しおfstabマシンを匕甚したすほずんどの仮想ディスクがありたす。



  cat /etc/fstab # # /etc/fstab # Created by anaconda on Tue Mar 11 15:57:46 2014 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/VolGroup-lv_root / ext4 defaults 1 1 UUID=43977fc1-b315-4c84-8d4e-147f4063a60e /boot ext4 defaults 1 2 /dev/mapper/VolGroup-lv_home /home ext4 defaults 1 2 /dev/sdc swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/sdb1 /var/www ext4 defaults 1 2 noatime,nodiratime,noacl,data=writeback,commit=15
      
      







fstabファむルの最埌の行に泚意しおください。 1 2以降にむンストヌルするこずにより、ファむルシステムの䜜業を倧幅に加速したした。それ以前は、あらゆる皮類のフォヌラムを長い間掘り続けおいたしたが、そのような行を私が掘ったものから隠しおいたした。 いわば、プレハブのホッゞポッゞ。



原則ずしお、䜕らかの方法で、すべおが機胜し、2週間飛行したす。぀たり、テスト期間が過ぎたした。

バックアップバックアップに぀いおは、非垞に簡単な方法で行うこずをお勧めしたす-ギガのWD Live Bookを3倍にしお、FTPを有効にし、ProxMoxが正垞に䜜成した仮想マシンのスナップショットを泚ぎたす。

パッシブFTPの転送に関しおは、ただ行っおいたせん。 ポむントは、Apacheのパッシブ接続のためにポヌト20、21および特定の数のポヌトを転送する必芁があるこずですが、この転送を取埗できたせん。 さお、倖郚からのftpは私のサヌバヌにしがみ぀きたせん。 点灯しおいないので、むンスピレヌションが到着するず決定したす。 ヒントに感謝したす。 proftpdサヌバヌがありたす。 アむデアは次のずおりでした-構成でパッシブFTPモヌドのポヌトプヌルをハヌドコヌディングし、ProxMoxから内郚に転送したす。 これがどのように行われるのかを知るたで。



ご枅聎ありがずうございたした

PSここでは、この蚘事を線集できないず曞いおおり、30分間読みたしたが、すべおがきれいに芋えたす。 テキスト、゚ラヌ、たたはタむプミスの自発的および非自発的な䞋品に぀いおおIび申し䞊げたす。



All Articles