가상의 랜카드가 만들어지면 실제랜카드로부터 ip를 뺏어서 가짐. 실제 랜카드는 전기적 신호만 전달. 이것이 가상 랜카드 특징.=>ens160은 ip를 갖지 않고 br-ex가 갖고 있음.
실제 랜카드가 ip를 받으면 내부의 랜카드가 받을 수 없음.
192.168.0.44 -> 관리용 IP
노란색 - launch
파란색 - start
런치는 인스턴트를 만드는 버튼, start가 시작버튼.
1:1맵핑.
포워드 된다. 외부 IP가 내부 (10.0.14.235) 로 연결. NAT, Router...
192.168.4.172가 지금은 사설IP이지만 실무에서는 공인 IP일 것.
openstack - 컨테이너 생성 및 활용 ; Swift
[centos@web01centos7 ~]$ wget http://192.168.0.44:8080/v1/AUTH_8edef122f2424d619f3723e6ede419c8/mz14/wordpress-5.9.3-ko_KR.zip
--2022-05-06 02:03:04-- http://192.168.0.44:8080/v1/AUTH_8edef122f2424d619f3723e6ede419c8/mz14/wordpress-5.9.3-ko_KR.zip
Connecting to 192.168.0.44:8080... connected.
HTTP request sent, awaiting response... 200 OK
Length: 21097340 (20M) [application/zip]
Saving to: ‘wordpress-5.9.3-ko_KR.zip’
100%[=====================================================================================================>] 21,097,340 20.1MB/s in 1.0s
swift 정적 웹사이트 호스팅
openstack - 우분투18 설치
프로젝트 -인스턴스 - 인스턴스 시작
=> web02 라는 웹서버 역할 할거기 때문에 터미널에 들어가서 설치 할 것들을 명령어 통해서 우분투 설치할 때 구성에 넣어서 설치.
[root@localhost ~]# cd /var/named/db
[root@localhost db]# ls
mz11.shop.db mz14.shop.db mz17.shop.db mz20.shop.db mz23.shop.db mz26.shop.db mz28.shop.db.bak mz31.shop.db
mz12.shop.db mz15.shop.db mz18.shop.db mz21.shop.db mz24.shop.db mz27.shop.db mz29.shop.db mz32.shop.db
mz13.shop.db mz16.shop.db mz19.shop.db mz22.shop.db mz25.shop.db mz28.shop.db mz30.shop.db mz33.shop.db
[root@localhost db]# vi mz14.shop.db
$TTL 86400
@ IN SOA mz14.shop. root.mz14.shop.(
2022050301 ; Serial
3h ; Refresh
1h ; Retry
1w ; Expire
1h ) ; Minimum
IN NS ns.mz14.shop.
ns IN A 192.168.0.66
open IN A 192.168.0.44
web01 IN A 192.168.4.172
web02 IN A 192.168.4.175
키로 접속 가능
openstack - web01서버에 httpd, wordpress 설치
[centos@web01centos7 ~]$ sudo yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
=>저장소 파일 내려받음
[centos@web01centos7 ~]$ sudo yum -y install epel-release yum-utils
=> epel-release;저장소 파일 실행할 수 있도록 설치 , yum-utils ; yum config-manager사용할 수 있도록 설치
[centos@web01centos7 ~]$ sudo yum-config-manager --enable remi-php74
[centos@web01centos7 ~]$ sudo yum install -y httpd php php-mysql php-gd php-mbstring wget unzip
[centos@web01centos7 ~]$ wget http://192.168.0.44:8080/v1/AUTH_8edef122f2424d619f3723e6ede419c8/mz14/wordpress-5.9.3-ko_KR.zip
--2022-05-06 02:03:04-- http://192.168.0.44:8080/v1/AUTH_8edef122f2424d619f3723e6ede419c8/mz14/wordpress-5.9.3-ko_KR.zip
Connecting to 192.168.0.44:8080... connected.
HTTP request sent, awaiting response... 200 OK
Length: 21097340 (20M) [application/zip]
Saving to: ‘wordpress-5.9.3-ko_KR.zip’
100%[=====================================================================================================>] 21,097,340 20.1MB/s in 1.0s
[centos@web01centos7 ~]$ cd /var/www/html
[centos@web01centos7 html]$ sudo unzip ~/wordpress-5.9.3-ko_KR.zip
[centos@web01centos7 html]$ sudo mv wordpress/* .
[centos@web01centos7 html]$ sudo chown -R apache:apache /var/www/*
[centos@web01centos7 html]$ sudo systemctl restart httpd
openstack - 디스크 공간 부족 가정하고 볼륨 생성해보기.
[centos@web01centos7 ~]$ sudo lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 10G 0 disk
└─vda1 253:1 0 10G 0 part /
vdb 253:16 0 1G 0 disk
[centos@web01centos7 ~]$ df -h
[centos@web01centos7 ~]$ sudo mkfs -t ext4 /dev/vdb
[centos@web01centos7 ~]$ sudo mount /dev/vdb /mnt/
[centos@web01centos7 ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 472M 0 472M 0% /dev
tmpfs 496M 0 496M 0% /dev/shm
tmpfs 496M 13M 483M 3% /run
tmpfs 496M 0 496M 0% /sys/fs/cgroup
/dev/vda1 10G 1.2G 8.8G 12% /
tmpfs 100M 0 100M 0% /run/user/1000
/dev/vdb 976M 2.6M 907M 1% /mnt
[centos@web01centos7 ~]$ sudo vi /mnt/test.txt
[centos@web01centos7 ~]$ sudo vi /mnt/test.txt
[centos@web01centos7 ~]$ ls
wordpress-5.9.3-ko_KR.zip
[centos@web01centos7 ~]$ sudo cp wordpress-5.9.3-ko_KR.zip /mnt/
[centos@web01centos7 ~]$ cd /mnt
[centos@web01centos7 mnt]$ ls
lost+found test.txt wordpress-5.9.3-ko_KR.zip
ext4 ; 이전에 사용했던 xfs 대신 사용.
openstack - web01에 마운트 해둔 볼륨 마운트 해제 한 후 web02에 붙이기
순서 )
mount해제 후 openstack접속해서 detach 하고 web02 attach하고 web02 마운트.
[centos@web01centos7 mnt]$ cd ~
[centos@web01centos7 ~]$ pwd
/home/centos
[centos@web01centos7 ~]$ sudo umount /mnt
ubuntu@web02ubuntu18:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 252:0 0 10G 0 disk
├─vda1 252:1 0 9.9G 0 part /
├─vda14 252:14 0 4M 0 part
└─vda15 252:15 0 106M 0 part /boot/efi
vdb 252:16 0 1G 0 disk
ubuntu@web02ubuntu18:~$ sudo mount /dev/vdb /mnt
ubuntu@web02ubuntu18:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 481M 0 481M 0% /dev
tmpfs 99M 648K 98M 1% /run
/dev/vda1 9.6G 1.3G 8.3G 14% /
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/vda15 105M 4.4M 100M 5% /boot/efi
tmpfs 99M 0 99M 0% /run/user/1000
/dev/vdb 976M 23M 887M 3% /mnt
ubuntu@web02ubuntu18:~$ ls /mnt/
lost+found test.txt wordpress-5.9.3-ko_KR.zip
mkfs하면 web01에서 넣어두었던 파일 날라가므로 하지 않음.
openstack - web02서버에 wordpress 설치
ubuntu@web02ubuntu18:~$ sudo apt install -y nginx php7.2-fpm php7.2 php7.2-mysql php7.2-mbstring php7.2-gd wget unzip
ubuntu@web02ubuntu18:~$ sudo mkdir -p /var/www/html/wordpress/public_html
ubuntu@web02ubuntu18:~$ cd /etc/nginx/sites-available
ubuntu@web02ubuntu18:/etc/nginx/sites-available$ sudo vi wordpress.conf
server {
listen 80;
root /var/www/html/wordpress/public_html;
index index.php index.html;
server_name www.mz14.shop;
access_log /var/log/nginx/SUBDOMAIN.access.log;
error_log /var/log/nginx/SUBDOMAIN.error.log;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
}
ubuntu@web02ubuntu18:/etc/nginx/sites-available$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
ubuntu@web02ubuntu18:/etc/nginx/sites-available$ cd /etc/nginx/sites-enabled/
ubuntu@web02ubuntu18:/etc/nginx/sites-enabled$ sudo ln -s ../sites-available/wordpress.conf .
ubuntu@web02ubuntu18:/etc/nginx/sites-enabled$ sudo systemctl reload nginx
ubuntu@web02ubuntu18:/etc/nginx/sites-enabled$ cd /var/www/html/wordpress/public_html
ubuntu@web02ubuntu18:/var/www/html/wordpress/public_html$ sudo unzip /mnt/wordpress-5.9.3-ko_KR.zip
ubuntu@web02ubuntu18:/var/www/html/wordpress/public_html$ sudo mv wordpress/* .
ubuntu@web02ubuntu18:/var/www/html/wordpress/public_html$ sudo chown -R www-data:www-data *
ubuntu@web02ubuntu18:/var/www/html/wordpress/public_html$ sudo chmod -R 755 *
openstack - 볼륨 확장 (scale up;자원의 크기를 수직으로 늘려주는 것)
=> 5gb 확장.
리눅스 볼륨 규칙 : 늘어난 볼륨을 줄일 수는 없다. (주의 요함)
openstack - db서버 보안그룹
openstack - HAProxy 서버(용량문제로 제거) => 웹02를 db서버로 대체.
===>용량문제로 제거
openstack - flavor추가생성
웹02 보안그룹 db로 바꿔주었음.
openstack - 프로젝트 생성 및 유저추가
openstack - 네트워크 생성
openstack - 라우터 생성 및 설정
external IP확인 및 ping 보내보기
openstack - IP할당
openstack - 보안그룹 설정
openstack - 키 생성
openstack - 이미지 공용으로 바꾸기
다른 프로젝트 유저에게도 보임.
openstack - 인스턴스 생성(web)
openstack - 인스턴스 생성(db)
openstack - 유동IP연결
openstack - DB 보안그룹 생성
openstack - DB 보안그룹 편집
웹서버 IP 도메인 서버에 추가해주기
[root@localhost ~]# cd /var/named/db
[root@localhost db]# ls
mz11.shop.db mz14.shop.db mz17.shop.db mz20.shop.db mz23.shop.db mz26.shop.db mz28.shop.db.bak mz31.shop.db
mz12.shop.db mz15.shop.db mz18.shop.db mz21.shop.db mz24.shop.db mz27.shop.db mz29.shop.db mz32.shop.db
mz13.shop.db mz16.shop.db mz19.shop.db mz22.shop.db mz25.shop.db mz28.shop.db mz30.shop.db mz33.shop.db
[root@localhost db]# vi mz14.shop.db
$TTL 86400
@ IN SOA mz14.shop. root.mz14.shop.(
2022050301 ; Serial
3h ; Refresh
1h ; Retry
1w ; Expire
1h ) ; Minimum
IN NS ns.mz14.shop.
ns IN A 192.168.0.66
blog IN A #할당받은 IP
알.마인.드 잘 하고 싶다면 모두 모여 🔥🔥
핫한 오.픈스택까지 구비 완.료 💦💦
>> https://velog.io/@w0nyyy