Merge branch 'master' of https://gitlab.com/naortega/ceu-notes
26
1/FH/assignments/t4-ej1-calculo-de-sais-naortega.txt
Normal file
@ -0,0 +1,26 @@
|
||||
================================
|
||||
*** Cálculo de SAIs ***
|
||||
*** --- ***
|
||||
*** Nicolás A. Ortega Froysa ***
|
||||
================================
|
||||
|
||||
Define qué equipos deben estar protegidos por un SAI y qué potencia debe tener
|
||||
éste, para alimentar una sala TIC que tenga: 2 servidores, uno de 400 W y otro
|
||||
de 600 W, con dos monitores de 80 W cada uno. 2 routers de acceso a internet,
|
||||
de 30 W cada uno La impresora/fotocopiadora/escáner central de la empresa, de
|
||||
900 W El sistema de refrigeración de todo lo anterior, de 800 W Un equipo de
|
||||
música ambiental, de 100 W Si todos los que nos ofrecen tienen un factor de
|
||||
potencia del 60%, ¿Qué potencia mínima debe tener el SAI que compremos?
|
||||
|
||||
Podemos decir que de los elementos de esta lista, los únicos que son
|
||||
imprescindibles son:
|
||||
- 2 servidores (400+600=1000W)
|
||||
- 2 enrutadores (30*2=60W)
|
||||
- impresora central (900W)
|
||||
- sistema de refrigeración (800W)
|
||||
|
||||
El equipo de música no es imprescindible, y por lo tanto no es necesario tener
|
||||
un SAI que lo mantenga.
|
||||
|
||||
Esto nos da un total necesario de unos 2760W. Por lo tanto, la potencia mínima
|
||||
necesaria sería VA = 2760 * 0.6 = 1656V
|
BIN
1/FH/assignments/t4-ej2-sistemas-raid/imgs/RAID-01.png
Normal file
After Width: | Height: | Size: 74 KiB |
BIN
1/FH/assignments/t4-ej2-sistemas-raid/imgs/RAID-10.png
Normal file
After Width: | Height: | Size: 76 KiB |
BIN
1/FH/assignments/t4-ej2-sistemas-raid/imgs/RAID-100.png
Normal file
After Width: | Height: | Size: 69 KiB |
BIN
1/FH/assignments/t4-ej2-sistemas-raid/imgs/RAID-50.png
Normal file
After Width: | Height: | Size: 208 KiB |
BIN
1/FH/assignments/t4-ej2-sistemas-raid/imgs/raid2.png
Normal file
After Width: | Height: | Size: 120 KiB |
BIN
1/FH/assignments/t4-ej2-sistemas-raid/imgs/raid3.png
Normal file
After Width: | Height: | Size: 82 KiB |
BIN
1/FH/assignments/t4-ej2-sistemas-raid/imgs/raid4.png
Normal file
After Width: | Height: | Size: 85 KiB |
BIN
1/FH/assignments/t4-ej2-sistemas-raid/imgs/raid5.png
Normal file
After Width: | Height: | Size: 85 KiB |
BIN
1/FH/assignments/t4-ej2-sistemas-raid/imgs/raid6.png
Normal file
After Width: | Height: | Size: 99 KiB |
BIN
1/FH/assignments/t4-ej2-sistemas-raid/imgs/striping.png
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
1/FH/assignments/t4-ej2-sistemas-raid/t4-ej2-sistemas-raid.pdf
Normal file
231
1/FH/assignments/t4-ej2-sistemas-raid/t4-ej2-sistemas-raid.tex
Normal file
@ -0,0 +1,231 @@
|
||||
\documentclass[12pt,a4paper]{article}
|
||||
\usepackage[spanish]{babel}
|
||||
\usepackage{hyperref}
|
||||
\usepackage{graphicx}
|
||||
|
||||
\title{Tema IV Ejercicio II: Sistemas RAID}
|
||||
\author{Nicolás A. Ortega Froysa}
|
||||
|
||||
\begin{document}
|
||||
\maketitle
|
||||
|
||||
\pagebreak
|
||||
\tableofcontents
|
||||
\pagebreak
|
||||
|
||||
\section{Introducción: ¿Qué es RAID?}
|
||||
En la informática, aumentar las capacidades de una unidad suele ser más difícil
|
||||
que simplemente usar varias unidades. Por ejemplo, es más fácil que un ordenador
|
||||
use varios procesadores, que no construir un procesador más rápido. Esto es lo
|
||||
que lleva a que en el almacenamiento de información a largo plazo (i.e.\ en
|
||||
discos duros), para almacenar mucha información se suelen tener muchos discos.
|
||||
La dificultad con este modelo está en que se complica la organización de datos,
|
||||
ya que cada unidad se trata de forma separada. En esto, se han inventado varios
|
||||
sistemas lógicos de almacenamiento para gestionar el espacio en varios discos,
|
||||
como LVM. Pero la más conocida para almacenamiento masivo es {\bf Redundant
|
||||
Array of Independent Disks}, o RAID.
|
||||
|
||||
El objetivo del almacenamiento con RAID es por seguridad, rendimiento, y
|
||||
capacidad de almacenamiento.
|
||||
|
||||
\begin{itemize}
|
||||
\item {\bf Seguridad}: se pueden hacer escrituras paralelas a dos discos de
|
||||
la misma información para poder tener copia de seguridad.
|
||||
\item {\bf Rendimiento}: al distribuir información entre varios discos se
|
||||
puede paralelizar la transferencia de datos.
|
||||
\item {\bf Capacidad de almacenamiento}: permite tratar a varios discos como
|
||||
si fueran un solo disco.
|
||||
\end{itemize}
|
||||
|
||||
Aunque éstos son algunas de las ventajas de usar RAID, realmente depende del
|
||||
tipo de {\em nivel} que tenga.
|
||||
|
||||
\section{Niveles RAID}
|
||||
Los sistemas configurados con RAID no funcionan todos igual, sino que se pueden
|
||||
configurar de forma distinta, usando distintos niveles, e incluso combinando
|
||||
éstos dependiendo de las necesidades. Dependiendo del nivel que sea, se explota
|
||||
una o más de las ventajas expuestas anteriormente.
|
||||
|
||||
\subsection{RAID 0}
|
||||
\begin{figure}[!htb]
|
||||
\begin{center}
|
||||
\includegraphics[width=0.5\linewidth]{imgs/striping.png}
|
||||
\caption{Striping con tres discos.}
|
||||
\label{fig:striping}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
Para poder aprovechar tanto la mejora en rendimiento de tener varios discos,
|
||||
como su aumentada capacidad de almacenamiento, este nivel implementa una técnica
|
||||
que se denomina {\em striping}, tal que los segmentos consecutivos de un archivo
|
||||
se distribuyen entre los discos configurados (ver figura \ref{fig:striping}).
|
||||
Al usar varios discos, esto significa que la capacidad máxima de esta
|
||||
configuración RAID sería la suma del espacio de almacenamiento de todos sus
|
||||
discos. También mejora la transferencia de datos, al poder paralelizar su
|
||||
transferencia entre varios discos.
|
||||
|
||||
\subsection{RAID 1}
|
||||
Para poder asegurarse de la seguridad de los datos guardados, este nivel
|
||||
automáticamente copia la información a los demás discos haciendo {\em
|
||||
mirroring}. Lo que hace es que mientras se escribe a un disco, se va escribiendo
|
||||
los mismos datos en el disco de copia. Esto no causa demasiado retraso, ya que
|
||||
las transmisiones son a dos discos distintos, lo cual se puede hacer en
|
||||
paralelo.
|
||||
|
||||
\subsection{RAID 2}
|
||||
\begin{figure}[!htb]
|
||||
\begin{center}
|
||||
\includegraphics[width=0.5\linewidth]{imgs/raid2.png}
|
||||
\caption{Diagram of RAID 2 setup.}
|
||||
\label{fig:raid2}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
Al igual que el RAID 0, hace {\em striping}, mas en vez de hacerlo a nivel de
|
||||
bloques, lo hace a nivel de bits. También se suma un método de corrección de
|
||||
errores con un {\em hamming code}. Mas debida a su complejidad comparada con un
|
||||
sistema de paridad, apenas se usa este nivel en la práctica. Esto hace que sea
|
||||
el único nivel original de RAID que no se usa actualmente. También es imposible
|
||||
de hacer varias peticiones a la vez por la distribución a nivel de bit en vez de
|
||||
ser por bloque, lo cual significa generalmente que para leer tan sólo un bloque
|
||||
ya debe de usar todos los discos.
|
||||
|
||||
\subsection{RAID 3}
|
||||
\begin{figure}[!htb]
|
||||
\begin{center}
|
||||
\includegraphics[width=0.5\linewidth]{imgs/raid3.png}
|
||||
\caption{Diagram of RAID 3 setup.}
|
||||
\label{fig:raid3}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
Muy similar al nivel anterior, RAID 3 implemente {\em striping} a nivel de
|
||||
bytes, y un disco dedicado a guardar la paridad para la detección de errores. El
|
||||
hecho de que su {\em striping} sea a nivel de byte significa que, al igual que
|
||||
en el nivel 2, no se pueden hacer varias peticiones a la vez. Esto significa que
|
||||
puede ser muy útil si se precisa una alta velocidad de transferencia de datos
|
||||
consecutivos de un mismo bloque. Mas este nivel ya casi no se usa en la
|
||||
práctica.
|
||||
|
||||
\subsection{RAID 4}
|
||||
\begin{figure}[!htb]
|
||||
\begin{center}
|
||||
\includegraphics[width=0.5\linewidth]{imgs/raid4.png}
|
||||
\caption{Diagram of RAID 4 setup.}
|
||||
\label{fig:raid4}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
Al igual que RAID 3, este nivel implementa {\em striping} y un disco dedicado a
|
||||
la paridad, pero a este nivel el {\em striping} sí que es a nivel de bloque, lo
|
||||
cual permite un acceso a datos más veloz, aunque la escritura pueda ser más
|
||||
lenta debido a la escritura al disco de paridad. Su ventaja es que puede ser
|
||||
fácilmente extendida siempre y cuando los nuevos discos estén completamente
|
||||
limpios (sólo bytes de ceros).
|
||||
|
||||
\subsection{RAID 5}
|
||||
\begin{figure}[!htb]
|
||||
\begin{center}
|
||||
\includegraphics[width=0.5\linewidth]{imgs/raid5.png}
|
||||
\caption{Diagram of RAID 5 setup.}
|
||||
\label{fig:raid5}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
Funciona de manera igual que RAID 4, mas distribuye la información de paridad
|
||||
entre todos los discos, lo cual para funcionar tan sólo hace falta que funcionen
|
||||
todos los discos menos uno. Al faltar un solo disco, se pueden calcular los
|
||||
errores a partir de la información de paridad. Dicho lo cual, este nivel precisa
|
||||
de un mínimo de tres discos. Esto también mejora la velocidad de escritura
|
||||
respecto al RAID 4, ya que la información de paridad se encuentra también
|
||||
distribuida.
|
||||
|
||||
\subsection{RAID 6}
|
||||
\begin{figure}[!htb]
|
||||
\begin{center}
|
||||
\includegraphics[width=0.5\linewidth]{imgs/raid6.png}
|
||||
\caption{Diagram of RAID 6 setup.}
|
||||
\label{fig:raid6}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
Finalmente existe el nivel RAID 6. Se parece al RAID 5, en que también usa {\em
|
||||
striping} a nivel de bloques, y también usa paridad, pero en vez de ser sólo un
|
||||
bloque de paridad, son dos. Esto hace que haya más penalización al escribir
|
||||
debido a las paridades, pero aumenta la seguridad de los datos, ya que pueden
|
||||
fallar hasta dos discos.
|
||||
|
||||
\subsection{RAID 5E y 6E}
|
||||
Las variaciones 5E y 6E son de los RAID 5 y 6 que hacen uso de un disco aparte
|
||||
que sirve de {\em backup} o, mejor dicho, {\em hot-spare}. Esto permite mejor
|
||||
rendimiento, para que la carga sea más distribuida, y a la vez más tolerancia a
|
||||
fallos.
|
||||
|
||||
\section{RAID Híbrido (Nested)}
|
||||
Además de los niveles anteriores, también se pueden hacer combinaciones, que
|
||||
normalmente se denominan por {\em RAID X+Y}. Lo que significa esto es que a
|
||||
nivel más bajo está usando el nivel X, y a nivel más alto usa Y. De los más
|
||||
comunes, podríamos decir que existen:
|
||||
|
||||
\begin{itemize}
|
||||
\item RAID 0+1 (01)
|
||||
\item RAID 0+3 (03)
|
||||
\item RAID 1+0 (10)
|
||||
\item RAID 5+0 (50)
|
||||
\item RAID 6+0 (60)
|
||||
\item RAID 10+0 (100)
|
||||
\end{itemize}
|
||||
|
||||
\subsection{RAID 01}
|
||||
\begin{figure}[!htb]
|
||||
\centering
|
||||
\includegraphics[width=0.75\linewidth]{imgs/RAID-01.png}
|
||||
\caption{RAID 0+1.}
|
||||
\label{fig:raid-01}
|
||||
\end{figure}
|
||||
|
||||
El RAID 01 (o RAID 0+1) consta de un RAID híbrido donde son varios RAID 0
|
||||
juntados en un RAID 1. De este modo cada subdivisión hace {\em striping}
|
||||
mientras que entre ellas son copias.
|
||||
|
||||
\subsection{RAID 10}
|
||||
\begin{figure}[!htb]
|
||||
\centering
|
||||
\includegraphics[width=0.35\linewidth]{imgs/RAID-10.png}
|
||||
\caption{RAID 1+0.}
|
||||
\label{fig:raid-10}
|
||||
\end{figure}
|
||||
|
||||
El RAID 10 (o RAID 1+0) es igual que el RAID anterior, pero a la inversa.
|
||||
|
||||
\subsection{RAID 30}
|
||||
|
||||
Este RAID híbrido consta de varios RAID 3, como vimos en la sección anterior,
|
||||
juntado con el {\em striping} del RAID 0.
|
||||
|
||||
\subsection{RAID 100}
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\centering
|
||||
\includegraphics[width=0.75\linewidth]{imgs/RAID-100.png}
|
||||
\caption{RAID 1+0+0.}
|
||||
\label{fig:raid-100}
|
||||
\end{figure}
|
||||
|
||||
Este RAID es igual que el RAID 10 que vimos anteriormente, pero con un nivel más
|
||||
de RAID 0. De este modo hace el {\em striping} de dos maneras.
|
||||
|
||||
\pagebreak
|
||||
|
||||
\section{Derechos de Autor}
|
||||
\noindent
|
||||
Copyright \textcopyright\ \the\year\ Ortega Froysa, Nicolás <nicolas@ortegas.org> \\
|
||||
\\
|
||||
\noindent
|
||||
Este documento está licenciado con la licencia Creative Commons Attribution No
|
||||
Derivatives 4.0 International.\\
|
||||
\\
|
||||
\noindent
|
||||
Creado con \LaTeX.
|
||||
|
||||
\end{document}
|
@ -0,0 +1,17 @@
|
||||
\babel@toc {spanish}{}\relax
|
||||
\contentsline {section}{\numberline {1}Introducción: ¿Qué es RAID?}{3}{section.1}%
|
||||
\contentsline {section}{\numberline {2}Niveles RAID}{3}{section.2}%
|
||||
\contentsline {subsection}{\numberline {2.1}RAID 0}{3}{subsection.2.1}%
|
||||
\contentsline {subsection}{\numberline {2.2}RAID 1}{4}{subsection.2.2}%
|
||||
\contentsline {subsection}{\numberline {2.3}RAID 2}{4}{subsection.2.3}%
|
||||
\contentsline {subsection}{\numberline {2.4}RAID 3}{5}{subsection.2.4}%
|
||||
\contentsline {subsection}{\numberline {2.5}RAID 4}{5}{subsection.2.5}%
|
||||
\contentsline {subsection}{\numberline {2.6}RAID 5}{6}{subsection.2.6}%
|
||||
\contentsline {subsection}{\numberline {2.7}RAID 6}{7}{subsection.2.7}%
|
||||
\contentsline {subsection}{\numberline {2.8}RAID 5E y 6E}{7}{subsection.2.8}%
|
||||
\contentsline {section}{\numberline {3}RAID Híbrido (Nested)}{7}{section.3}%
|
||||
\contentsline {subsection}{\numberline {3.1}RAID 01}{8}{subsection.3.1}%
|
||||
\contentsline {subsection}{\numberline {3.2}RAID 10}{8}{subsection.3.2}%
|
||||
\contentsline {subsection}{\numberline {3.3}RAID 30}{9}{subsection.3.3}%
|
||||
\contentsline {subsection}{\numberline {3.4}RAID 100}{9}{subsection.3.4}%
|
||||
\contentsline {section}{\numberline {4}Derechos de Autor}{10}{section.4}%
|
16
1/FH/assignments/t4-ej3-certificacion-tier-naortega.txt
Normal file
@ -0,0 +1,16 @@
|
||||
================================
|
||||
*** Certificación TIER ***
|
||||
*** --- ***
|
||||
*** Nicolás A. Ortega Froysa ***
|
||||
================================
|
||||
|
||||
La certificación TIER para los CPD sirven para saber la estabilidad que tienen
|
||||
en cuanto a 'uptime'. Es decir, su disponibilidad. Existen los siguientes
|
||||
niveles:
|
||||
|
||||
- TIER I: 99.671% disponible
|
||||
- TIER II: 99.741% disponible
|
||||
- TIER III: 99.982% disponible
|
||||
- TIER IV: 99.995% disponible
|
||||
|
||||
En España tan sólo existe un CPD de TIER IV.
|
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 196 KiB |
After Width: | Height: | Size: 78 KiB |
After Width: | Height: | Size: 10 KiB |
@ -0,0 +1,104 @@
|
||||
\documentclass[12pt,a4paper]{article}
|
||||
\usepackage[spanish]{babel}
|
||||
\usepackage{hyperref}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{subcaption}
|
||||
|
||||
\title{Tema IX Ejercicio III: Dispositivos de Copias de Seguridad}
|
||||
\author{Nicolás A. Ortega Froysa}
|
||||
|
||||
\begin{document}
|
||||
\maketitle
|
||||
\pagebreak
|
||||
\tableofcontents
|
||||
\pagebreak
|
||||
|
||||
\section{Utilidad de un Dispositivo de Copia de Seguridad}
|
||||
|
||||
A menudo precisamos hacer una copia de seguridad en caso de que haya algún fallo
|
||||
en nuestro sistema, y así preservar nuestros datos. Para hacer esto, lo suyo es
|
||||
usar un dispositivo {\bf externo}. Se ha de hacer externo, ya que si falla y la
|
||||
copia de seguridad es interna, nuestro sistema, es bastante probable que también
|
||||
falle nuestro dispositivo de copia de seguridad.
|
||||
|
||||
Para este propósito, podemos ver varios tipos de dispositivos de seguridad
|
||||
externos que podemos usar dependiendo del nivel al que estamos trabajando.
|
||||
|
||||
\section{Almacenamiento USB (Simple)}
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\centering
|
||||
\includegraphics[width=0.45\linewidth]{imgs/SanDisk-Cruzer-USB-4GB-ThumbDrive.jpg}
|
||||
\caption{{\em Pendrive} de 4GB.}
|
||||
\label{fig:usb-stick}
|
||||
\end{figure}
|
||||
|
||||
Los dispositivos de almacenamiento {\em pendrive} son útiles para hacer copias
|
||||
de archivos pequeños, o incluso de tamaño medio. También son más portátiles al
|
||||
ser más pequeños. El inconveniente que tienen es que suelen ser de menor
|
||||
capacidad, y aunque ésta se va aumentando -- hoy día se pueden encontrar
|
||||
fácilmente de 1TB -- siguen siendo bastante más pequeños que otras alternativas.
|
||||
|
||||
\pagebreak
|
||||
|
||||
\section{Disco Duro Externo}
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\centering
|
||||
\includegraphics[width=0.45\linewidth]{imgs/External_Hard_Drive.jpg}
|
||||
\caption{Disco duro externo.}
|
||||
\label{fig:external-drive}
|
||||
\end{figure}
|
||||
|
||||
Los discos externos, al igual que los {\em pendrive} son bastante portátiles
|
||||
(aunque un poco más grandes), y suelen tener unas capacidades mucho más grandes
|
||||
-- generalmente varios terabytes. También se conecta mediante USB, así que es
|
||||
una interfaz bastante común que se encontrará en casi cualquier ordenador
|
||||
moderno. Esto se usa más generalmente para hacer copias de seguridad de un
|
||||
sistema entero en usos domésticos.
|
||||
|
||||
\section{Servidores NAS}
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\centering
|
||||
\includegraphics[width=0.35\linewidth]{imgs/NAS_server.png}
|
||||
\caption{Servidor de NAS.}
|
||||
\label{fig:nas-server}
|
||||
\end{figure}
|
||||
|
||||
Los NAS ya no son simplemente dispositivos de almacenamiento, sino que es todo
|
||||
un servidor al que se conecta remotamente el cliente para hacer las copias de
|
||||
seguridad. Este tipo de solución requiere más recursos (generalmente) y es útil
|
||||
para situaciones donde automatizamos la sincronización de copias de seguridad.
|
||||
No es para nada portátil, sino que realmente debería de instalarse en un sitio y
|
||||
mantenerse ahí. Aún así, suele permitir mucho más espacio y también puede ser
|
||||
bastante flexible en su uso, ya que se accede remotamente.
|
||||
|
||||
\section{Cinta Magnética}
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\centering
|
||||
\includegraphics[width=0.45\linewidth]{imgs/cina-magnetica.jpg}
|
||||
\caption{Cina magnética de IBM.}
|
||||
\label{fig:cinta-magnetica}
|
||||
\end{figure}
|
||||
|
||||
La cinta magnética es una forma de almacenar información muy rápida y con mucha
|
||||
capacidad, pero bastante cara en cuestión de los dispositivos que los pueden
|
||||
leer. La cinta en sí es bastante barata, pero los dispositivos de
|
||||
escritura/lectura son muy caras. Generalmente no son portables para nada. Es
|
||||
útil sobre todo para entornos profesionales para guardar cantidades enormes de
|
||||
información.
|
||||
|
||||
\pagebreak
|
||||
|
||||
\section{Derechos de Autor y Licencia}
|
||||
|
||||
\noindent
|
||||
Copyright \copyright\ \the\year\ Nicolás A. Ortega Froysa
|
||||
<nicolas@ortegas.org>\\
|
||||
\\
|
||||
Este documento se distribuye bajo los términos y condiciones de la licencia
|
||||
Creative Commons Attribution No Derivatives 4.0 International.
|
||||
|
||||
\end{document}
|
@ -0,0 +1,7 @@
|
||||
\babel@toc {spanish}{}\relax
|
||||
\contentsline {section}{\numberline {1}Utilidad de un Dispositivo de Copia de Seguridad}{3}{section.1}%
|
||||
\contentsline {section}{\numberline {2}Almacenamiento USB (Simple)}{3}{section.2}%
|
||||
\contentsline {section}{\numberline {3}Disco Duro Externo}{4}{section.3}%
|
||||
\contentsline {section}{\numberline {4}Servidores NAS}{4}{section.4}%
|
||||
\contentsline {section}{\numberline {5}Cinta Magnética}{5}{section.5}%
|
||||
\contentsline {section}{\numberline {6}Derechos de Autor y Licencia}{6}{section.6}%
|
@ -20,7 +20,7 @@
|
||||
\section{Derechos de Autor y Licencia}
|
||||
|
||||
\noindent
|
||||
Copyright \copyright\ \the\year\ Nicolás A. Ortega Froysa <nicolas@ortegas.org>
|
||||
Copyright \copyright\ \the\year\ Nicolás A. Ortega Froysa <nicolas@ortegas.org>\\
|
||||
\\
|
||||
Este documento se distribuye bajo los términos y condiciones de la licencia
|
||||
Creative Commons Attribution No Derivatives 4.0 International.
|
||||
|